반응형
내부조인과 외부조인의 차이
내부조인은 두 테이블에 존재하는 항목만 출력
외부조인은 한쪽에만 있으면 출력(left, right, full)
LEFT OUTER JOIN ( = LEFT JOIN)
왼쪽 테이블의 내용은 모두 출력되어야 한다.
아래 쿼리문에서는 'member 테이블의 내용은 모두 출력되어야 한다.' 라고 이해하면 된다.
SELECT M.mem_id , M.mem_name, B.prod_name, M.addr
FROM member M
LEFT OUTER JOIN buy B
ON M.mem_id = B.mem_id
ORDER BY M.mem_id;
RIGHT OUTER JOIN ( = RIGHT JOIN)
오른쪽 테이블의 내용은 모두 출력되어야 한다.
아래 쿼리문에서는 'buy 테이블의 내용은 모두 출력되어야 한다.' 라고 이해하면 된다.
SELECT M.mem_id , M.mem_name, B.prod_name,B.group_name, M.addr
FROM member M
RIGHT OUTER JOIN buy B
ON M.mem_id = B.mem_id
ORDER BY M.mem_id;
외부 조인 활용 예시
만약 회원들 중 물건을 한번도 구매한 적이 없는 회원의 목록을 추출해보자.
다음과 같이 WHERE B.prod.name IS NULL
를 이용하였다.
SELECT DISTINCT M.mem_id,B.prod_name,M.mem_name,M.addr
FROM member M
LEFT OUTER JOIN buy B
ON M.mem_id = B.mem_id
WHERE B.prod_name IS NULL
ORDER BY M.mem_id;
FULL OUTER JOIN
왼쪽 외부 조인, 오른쪽 외부 조인이 합쳐진 것
왼쪽이던 오른쪽이던 있으면 출력.
자주 사용되지는 않는다고 한다.
혼자공부하는SQL 공부중
반응형
'개발 > Database' 카테고리의 다른 글
Mysql 비번 초기화 (0) | 2023.07.14 |
---|---|
MYSQL에서 Split하기 : SUBSTRING_INDEX (0) | 2022.04.03 |
DISTINCT 중복된 결과중 1개만 출력 (0) | 2022.03.08 |
내부조인 외부조인 (0) | 2022.03.08 |
MySQL 변수사용 (0) | 2022.02.25 |