Notice
Recent Posts
Recent Comments
Link
오늘도 개발
테이블 JOIN 방법(INNER JOIN, OUTER JOIN) 본문
0. 예시로 들 테이블
products, product_images, charges, product_charges

1. INNER JOIN
두 테이블의 교집합을 조회한다.
예를 들어 product와 product_images 테이블을 조인하는 경우
이미지가 있는 product 1과 2만 보임. 3은 불러오지 않음.
SELECT * FROM products
JOIN product_images ON product_images.product_id = products.id;

2. OUTER JOIN
두 테이블의 합집합을 조회한다.
LEFT JOIN
왼쪽 테이블의 모든 행을 조회한다.
예를 들어 product와 product_images 테이블을 조인하는 경우
product의 모든 행을 가져오기 때문에 이미지가 없는 product 3도 불러온다.
SELECT * FROM products
LEFT JOIN product_images ON product_images.product_id = products.id;

RIGHT JOIN
오른쪽 테이블의 모든 행을 조회한다.
예를 들어 product_images와 products 테이블을 조인하는 경우
product_images의 모든 행을 가져온다. (이 예시에선 left join과 결과가 같다.)
SELECT * FROM products
RIGHT JOIN product_images ON product_images.product_id = products.id;
FULL OUTER JOIN
두 테이블을 다 가져온다.
단, mysql에서는 FULL OUTER JOIN이라는 키워드가 없다.
대신 left join과 right join을 union하여 같은 효과를 낼 수 있다.
SELECT * FROM products
LEFT JOIN product_images ON product_images.product_id = products.id
UNION
SELECT * FROM products
RIGHT JOIN product_images ON product_images.product_id = products.id'웹 프로그래밍 > DB' 카테고리의 다른 글
| LEFT JOIN 시 행 중복 문제 해결하기 (0) | 2022.10.04 |
|---|---|
| GROUP BY, 집계함수 (1) | 2022.10.03 |
| 트랜잭션(Transaction) (0) | 2022.06.28 |
| 관계형 데이터베이스(Relational Database) (0) | 2022.06.27 |
| SQL 기초 (0) | 2022.03.30 |