728x90
- *ㅇ리스 강의 자료*
- 그럼 사실 using도 쓸 필요없이 natural join 하면 되는 거 아님?
=> 명시적이라서 on을 씀
- cross 생략되지만, on/using 없을 때만 크로스 조인임.
-- 3. 위에서 작성한 두 쿼리에서 ORDER BY를 제거 후, 중복을 제거하는 집합연산자로 결합하고 최종 결과에 대해 정렬을 해주세요.
select f.version_id, f.version_content_front, b.version_content_back
from FRONT_VERSION_HIST f
left outer join BACK_VERSION_HIST b
on f.version_id = b.version_id
union
select b.version_id, f.version_content_front, b.version_content_back
from FRONT_VERSION_HIST f
right outer join BACK_VERSION_HIST b
on f.version_id = b.version_id
order by version_id; -- union 됐을 때는 특정 테이블 엘리아스 하지 않고 그냥 칼럼명으로 해줌
- 그냥 냅다 이너조인만 쓰지 말 것.
- null 값을 확인하려면 차라리 left join을 반복해서 쓰는 것이 더 이득임.
728x90
반응형
'Data Science > SQL' 카테고리의 다른 글
[Elice SQL] 서브쿼리 심화: 연관/비연관, 단일행/다중행 (0) | 2025.03.04 |
---|---|
[Elice SQL] null은 in, = 연산자로 못 씀.. is null 로 해 (0) | 2025.03.03 |
[프로그래머스 SQL] 데이터 타입 주의 할 것. (date는 left()-> X) (0) | 2025.03.02 |
[Elice SQL] 집합연산자 & 계층형 질의 (0) | 2025.03.02 |
[Elice SQL] 다중행, 단일행 서브쿼리 (0) | 2025.03.01 |