솔직히 나는 늘 간단한 sql문만 사용해왔기에 (취업 전 플젝에서)
sql문이 졸라리 긴 걸 볼 때마다 멘붕이 온다...
하지만 뜯어보면 이해할 만한 경우도 꽤나 많은데
서브쿼리에 몇 개의 쿼리문을 union 해 놓은 경우가 이런 경우다!
합친다라는 의미에 맞게 쿼리문을 합쳐놓은 것이다.
select 쿼리문으로 뽑은 데이터들을 합쳐 결과를 보여주겠다는 것인데
SELECT id, name
FROM TABLE1
UNION
SELECT id, name
FROM TABLE2
TABLE1
id | name |
---|---|
1 | 전웅 |
2 | 김동현 |
TABLE2
id | name |
---|---|
2 | 김동현 |
3 | 박우진 |
4 | 이대휘 |
UNION 결과
id | name |
---|---|
1 | 전웅 |
2 | 김동현 |
3 | 박우진 |
4 | 이대휘 |
가독성 개구리🐸지만 우짤우짤~ 정리하는 데에 의의를 두자
앞에 작성한 UNION결과를 보면 TABLE1과 TABLE2에 동일한 데이터가 있다.
id=2, name='김동현'
캬...턱선 봐라 베이겠다🔪🩸
저 높은 코와 이쁜 눈...도톰한 입술 폭룡적 얼굴이시다
파머 김동현 못 잃어
웅 내 최애다... 따랑해💙
아니 이게 아니라
암튼 동현이가 두 테이블에 모두 있지만 union한 결과로는 한 번만 들어가있다.
UNION은 자체적으로 중복 데이터를 처리해준다.
그럼 UNION ALL은?
SELECT id, name
FROM TABLE1
UNION ALL
SELECT id, name
FROM TABLE2
UNION ALL결과
id | name |
---|---|
1 | 전웅 |
2 | 김동현 |
2 | 김동현 |
3 | 박우진 |
4 | 이대휘 |
증말 정직하게 합친 결과를 내보낸다.
오늘은 글을 어떻게 끝내야 할지 모르겠다.
안넝~~~