오늘 아침에 SQL 과 알고리즘 문제를 푸는데
self join과 using에 대해서 모르는 부분들이 있어서 구글링을 해보았다.
self join 은 서로 같은 테이블끼리 join 하여 사용하는 것인데
join을 반드시 테이블을 결합할 때만 사용하는 것이 아니다.
같은 테이블의 레코드 사이에서 관련성이 존재할 수 있기 때문이다.
그리고 join을 사용할 때 on 절을 사용하는 경우도 있지만
using 문법을 써서 사용하는 경우도 있다.
using을 사용할 때에는 연결하려는 테이블 간의 키 컬럼명이 일치해야 한다.
on절과 using의 차이점은 뒤에 조건을 붙일 때 이다.
on절 뒤에는 and 를 붙여서 조건을 추가할 수 있지만,
using은 뒤에 추가적으로 and 조건을 붙일 수 없다.
예시 코드
-- ON 사용
SELECT u.*, o.*
FROM tb_user u
LEFT JOIN tb_office o
ON u.user_no = o.user_no AND o.dept = '웹팀';
-- USING 사용
SELECT u.*, o.*
FROM tb_user u
LEFT JOIN tb_office o
USING (user_no)
WHERE o.dept = '웹팀';
출처: https://im-codding.tistory.com/64 [코딩코딩코:티스토리]
'데이터분석 study > SQL' 카테고리의 다른 글
TIL_24.07.16_ <union all, null 치환> (0) | 2024.07.16 |
---|---|
TIL_24.07.12_다중 테이블 left join (0) | 2024.07.12 |
TIL(Today I Learned) 24.07.01 (0) | 2024.07.01 |
TIL(Today I Learned) 24.06.24 (0) | 2024.06.28 |
TIL(Today I Learned) 24.06.26 (0) | 2024.06.26 |