IT/지식
[SQL] JOIN
생각없이 해도 생각보다 좋다.
2023. 11. 3. 18:13
JOIN
종류
1. INNER JOIN
- INNER JOIN은 두 테이블 간에 일치하는 행만 반환
SELECT orders.order_id, customers.customer_name FROM orders INNER JOIN customers ON orders.customer_id = customers.customer_id;
2. LEFT JOIN
- LEFT JOIN: 왼쪽 테이블의 모든 행을 반환하고, 오른쪽 테이블과 일치하는 행이 있는 경우에는 일치하는 행도 반환
SELECT customers.customer_name, orders.order_id FROM customers LEFT JOIN orders ON customers.customer_id = orders.customer_id;
3. RIGHT JOIN
- RIGHT JOIN: 오른쪽 테이블의 모든 행을 반환하고, 왼쪽 테이블과 일치하는 행이 있는 경우에는 일치하는 행도 반환
SELECT customers.customer_name, orders.order_id FROM customers RIGHT JOIN orders ON customers.customer_id = orders.customer_id;
4. FULL OUTER JOIN
- FULL OUTER JOIN: 양쪽 테이블의 모든 행을 반환하며, 일치하지 않는 행에는 NULL 값을 채움
- FULL OUTER JOIN은 테이블 간의 모든 데이터를 비교하는 데 사용
SELECT customers.customer_name, orders.order_id FROM customers FULL OUTER JOIN orders ON customers.customer_id = orders.customer_id;
5. SELF JOIN
- SELF JOIN: 동일한 테이블을 연결할 때 사용
- 예시: 조직 구조를 나타내는 테이블에서 부모와 자식 관계를 찾는 경우 SELF JOIN을 사용
SELECT e1.employee_name, e2.employee_name AS manager_name FROM employees e1 INNER JOIN employees e2 ON e1.manager_id = e2.employee_id;