Bird
0
0

Given these tables:

medium📝 query result Q13 of 15
PostgreSQL - Joins in PostgreSQL
Given these tables:
Table A:
ID | Name
1 | Alice
2 | Bob
4 | Diana

Table B:
ID | City
2 | Paris
3 | London
4 | Berlin

What is the result of:
SELECT COALESCE(A.ID, B.ID) AS ID, A.Name, B.City FROM A FULL OUTER JOIN B ON A.ID = B.ID ORDER BY ID;
A[{2, 'Bob', 'Paris'}, {3, NULL, 'London'}, {4, 'Diana', 'Berlin'}]
B[{1, 'Alice', NULL}, {2, 'Bob', NULL}, {3, NULL, 'London'}, {4, 'Diana', 'Berlin'}]
C[{1, 'Alice', NULL}, {2, 'Bob', 'Paris'}, {3, NULL, 'London'}, {4, 'Diana', 'Berlin'}]
D[{1, 'Alice', NULL}, {2, 'Bob', 'Paris'}, {4, 'Diana', 'Berlin'}]
Step-by-Step Solution
Solution:
  1. Step 1: Identify matching and unmatched IDs

    Matching IDs: 2 and 4. Unmatched in A: 1. Unmatched in B: 3.
  2. Step 2: Construct FULL OUTER JOIN result

    Rows:
    - ID 1: Name 'Alice', City NULL (no match in B)
    - ID 2: Name 'Bob', City 'Paris' (match)
    - ID 3: Name NULL, City 'London' (no match in A)
    - ID 4: Name 'Diana', City 'Berlin' (match)
  3. Final Answer:

    [{1, 'Alice', NULL}, {2, 'Bob', 'Paris'}, {3, NULL, 'London'}, {4, 'Diana', 'Berlin'}] -> Option C
  4. Quick Check:

    FULL OUTER JOIN includes all rows with NULLs for unmatched [OK]
Quick Trick: Match IDs, include all rows, NULL for missing side [OK]
Common Mistakes:
  • Excluding unmatched rows from either table
  • Mixing up NULL placement
  • Ordering rows incorrectly

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More PostgreSQL Quizzes