728x90
1. 지금까지 쓰신 방식
SELECT e.name, d.name
FROM s_emp e, s_dept d
WHERE d.region_id = 1;
이 방식의 특징
- FROM 절에서 여러 테이블(S_EMP, S_DEPT)을 쉼표로 나열해요.
- WHERE 절을 이용해서 두 테이블을 연결해요.
이 방식은 전통적인 구식 JOIN 방식이에요. 지금도 사용할 수는 있지만, 현대적인 SQL에서는 JOIN 키워드를 사용하는 방식으로 점점 바뀌고 있어요.
2. JOIN 키워드 방식
같은 문제를 JOIN 키워드를 사용해서 작성하면 이렇게 돼요:
SELECT e.name, d.name
FROM s_emp e
JOIN s_dept d
ON e.dept_id = d.dept_id -- 두 테이블을 연결하는 조건
WHERE d.region_id = 1; -- 서울 지역
차이점:
- JOIN 키워드를 사용해서 두 테이블을 연결.
- ON 절에서 연결 조건(두 테이블의 공통점)을 명시해요.
3. 두 방식의 차이점: WHY "JOIN"?
사실 결과는 완전히 동일합니다. 하지만 JOIN 방식이 더 명확하고 직관적이에요.
(1) 가독성
- 구식 방식(FROM 테이블1, 테이블2)은 테이블이 많아질수록 어떤 조건으로 연결하는지 파악하기 어렵다는 단점이 있어요.
- JOIN 방식은 어떤 테이블이 어떻게 연결되는지 ON 절에 명확히 표시되기 때문에 가독성이 훨씬 좋습니다.
(2) 복잡한 조건 처리
현대적인 SQL에서는 INNER JOIN, LEFT JOIN, RIGHT JOIN 등 다양한 JOIN 형태를 사용할 수 있어요.
이런 기능들은 JOIN 키워드 방식에서 더 잘 동작하고 표현이 쉬워요.
4. "JOIN"으로 이해를 정리하자!
아까 쓰셨던 코드
SELECT e.name, d.name
FROM s_emp e, s_dept d
WHERE d.region_id = 1;
여기서 사실 s_emp와 s_dept가 어떻게 연결되는지 명시되지 않았어요.
그런데 JOIN을 사용하면
SELECT e.name, d.name
FROM s_emp e
JOIN s_dept d
ON e.dept_id = d.dept_id
WHERE d.region_id = 1;
- ON e.dept_id = d.dept_id로 두 테이블을 연결하는 조건이 확실히 드러나요.
- 그래서 JOIN을 사용하면 더 명확하고 오류를 줄이기 쉬워요.
5. 언제 JOIN 없이 써도 되나요?
JOIN 키워드를 안 쓰고도 간단한 경우라면 여전히 괜찮아요:
- 테이블이 적고
- 연결 조건이 복잡하지 않으면
하지만 여러 테이블을 연결하거나 복잡한 쿼리를 작성해야 할 때는 JOIN을 쓰는 게 좋아요!
728x90
'SQL' 카테고리의 다른 글
DELETE와 TRUNCATE 차이 (0) | 2025.01.24 |
---|---|
그룹 함수(Group Functions)와 GROUP BY 절 관련 특수사항 (0) | 2025.01.23 |
%와 _ (0) | 2025.01.23 |
GROUP BY에서 조건은 HAVING에 쓴다 (0) | 2025.01.23 |
SQL 산술 연산자와 NULL 컬럼에 따른 연산 결과 (0) | 2025.01.23 |