I have these two tables:
TABLE A:
ID COUNTRY CAPITAL CONTINENT
1 Slovakia Bratislava Europe
2 Senegal Dakar Africa
3 Brazil Brasilia South America
4 Wales Cardiff Europe
5 Egypt Cairo Africa
TABLE B:
ID COUNTRY CAPITAL CONTINENT
5 Egypt Cairo Africa
6 Argentina Buenos Aires South America
7 Hungary Budapest Europe
2 Senegal Dacar Africa
When I do UNION, I get the expected result:
CREATE TABLE COMB_UNION AS
SELECT * FROM A
UNION
SELECT * FROM B;
1 Slovakia Bratislava Europe
2 Senegal Dacar Africa
2 Senegal Dakar Africa
3 Brazil Brasilia South America
4 Wales Cardiff Europe
5 Egypt Cairo Africa
6 Argentina Buenos Aires South America
7 Hungary Budapest Europe
However, I get missing values when using FULL OUTER JOIN and I don't understand why. It should produce the same result as UNION, right? As far as I understand it, it should produce all the records from both tables and any matching records. Which obviously isn't the case
CREATE TABLE OUTER_JOIN AS
SELECT
A.ID, A.COUNTRY, A.CAPITAL, A.CONTINENT
FROM A FULL OUTER JOIN B
ON A.ID = B.ID;
1 Slovakia Bratislava Europe
2 Senegal Dakar Africa
3 Brazil Brasilia South America
4 Wales Cardiff Europe
5 Egypt Cairo Africa
.
.
What am I missing here? I am doing it in PROC SQL if that makes any difference.
Any help appreciated :)