join이란
- mysql에서 select와 더불어 가장 많이 사용하는 옵션 중 하나
- 두 개 이상의 테이블을 묶어 하나의 결과로 만드는 것
- 서로 다른 테이블에서 데이터를 가져올때 사용하는 것
inner join
기본 틀)
SELECT <열 목록>
FROM <기준 테이블>
INNER JOIN<참조할 테이블>
ON <조인 조건>
[WHERE 검색조건];
- join 중 가장 많이 사용된다.
- JOIN은 두 개 이상의 테이블을 결합하기 때문에 결합하는 테이블들이 동일한 열을 가지고 있다면 테이블명을 명시해줘야 에러가 발생하지 않는다.(테이블이름.열이름)
예)
USE shopDB
SELECT *
FROM buyTBL
INNER JOIN userTBL
ON buyTBL.userID = userTBL.userID
WHERE buyTBL.userID = 'LEE';
outer join
- 양쪽 테이블에 모두 내용이 있는 경우에만 결과가 검색되는 INNER JOIN과는 다르게, OUTER JOIN은 한쪽 테이블에만 내용이 있어도 결과가 검색된다.
기본 틀)
SELECT <열 목록>
FROM <첫 번째 테이블(LEFT)>
<LEFT | RIGHT | FULL> [OUTER] JOIN <두 번째 테이블(RIGHT)>
ON <조인 조건>
[WHERE 검색조건];
예)
SELECT U.userID, U.addr, U.phoneNumber, B.prodID
FROM userTBL U
LEFT OUTER JOIN buyTBL B
ON U.userID = B.userID
WHERE B.prodID IS NULL
ORDER BY U.userID;
left, right join
- outer 앞에 left를 쓰면 첫 번째 테이블의 내용은 모두 검색 되어야 한다는 뜻
- outer 앞에 right를 쓰면 두 번째 테이블의 내용은 모두 검색 되어야 한다는 뜻
- outer 앞에 full 쓰면 모든 테이블의 내용은 모두 검색 되어야 한다는 뜻
728x90