select * from celeb c
left join refueling r
on c.name = r.이름
union
select * from celeb c
right join refueling r
on c.name = r.이름;
SELECT c.name
FROM celeb c
LEFT JOIN refueling r
ON c.name = r.이름
UNION
SELECT c.name
FROM celeb c
RIGHT JOIN refueling r
ON c.name = r.이름;
FULL OUTER JOIN 을 하기 위해
UNION을 사용 하였다.
예상 )
자료 A와 자료 B를 LEFT JOIN 한 것과
자료 A와 자료 B를 RIGHT JOIN 한 것을
UNION 하므로
자료 A와 자료 B 사이에 겹치는 것들에 대하여서만
두번 안가져오고 한번만 가져와줄 줄 알았는데
실제 )
자료 A와 자료 B를 LEFT JOIN 한 것에서도 중복을 제거해주고
자료 A와 자료 B를 RIGHT JOIN 한 것에서도 중복을 제거해서 가져왔다.
UNION 을 쓰면 전체 중복 제거 된다는 것을 알게 되었다.
'sql' 카테고리의 다른 글
[sql] PRIMARY KEY, FOREGIN KEY (0) | 2022.07.05 |
---|---|
[mysql] LIMIT 을 쓸 때는 ORDER BY 와 함께 쓰자. (0) | 2022.07.05 |
[Mysql] 쿼리가 엉킨 경우에 유용한 코드 (0) | 2022.07.02 |
[sql] 테이블 백업, 스키마 백업 (0) | 2022.06.30 |
[sql] sql 파일 열기 ( 내부에서 열기, 외부에서 열기 ) (0) | 2022.06.27 |