SQL에서 JOIN을 사용할 때 조건을 지정하는 방법으로 ON, USING, WHERE 세 가지가 있다.
1. 조건절의 실행 순서
1) ON/USING (JOIN 조건)
2) WHERE (필터링 조건)
2. ON 조건절
- 테이블 별칭(alias) 사용 가능
- 다양한 비교 연산자 사용 가능 (=, >, LIKE 등)
- 복잡한 JOIN 조건을 작성할 수 있음
ex)
- 기본적인 ON 사용
SELECT t.team_name, s.stadium_name
FROM team t
JOIN stadium s ON (t.stadium_id = s.stadium_id);
- 복합 조건 사용
SELECT e.employee_name, d.department_name
FROM employee e
JOIN department d
ON (e.department_id = d.department_id
AND e.location_id = d.location_id);
3. USING 조건절
- 공통 칼럼명만 괄호 안에 작성
- 테이블 별칭을 사용하지 않음
- 등호(=) 외의 다른 연산자 사용 불가
ex)
- 올바른 USING 사용
SELECT team_name, stadium_name
FROM team JOIN stadium USING(stadium_id);
- 다중 칼럼 USING
SELECT *
FROM employee
JOIN department USING(department_id, location_id);
4. WHERE 조건절
- JOIN 완료 후 적용됨
- 결합된 테이블의 모든 칼럼 참조 가능
- 일반적인 필터링 조건 사용
ex)
SELECT t.team_name, s.stadium_name
FROM team t
JOIN stadium s ON (t.stadium_id = s.stadium_id)
WHERE s.capacity > 50000
AND t.city = 'New York';
'데이터베이스' 카테고리의 다른 글
[DML] insert (0) | 2024.11.13 |
---|---|
index (0) | 2024.11.07 |
[DML] select (0) | 2024.11.02 |
[DDL] drop (0) | 2024.11.02 |
함수종속성 (0) | 2024.10.23 |