[DB] 조인 - Inner Join 과 Outer Join
INNER JOIN
- 표준 문법 : INNER JOIN ~ ON
- NULL 이면 데이터가 나오지 않는다.
-- INNER JOIN -- 회원 정보 보기 - 아이디, 이름, 연락처, 등급번호, 등급명 SELECT ID, NAME, TEL, M.GRADENO, GRADENAME FROM GRADE G, MEMBER M WHERE G.GRADENO = M.GRADENO -- 서로 연관되어 있는 것 끼리 조인 ;
- 한 테이블 안에 같은 FK가 두번 쓰여질 경우 조회할 때 부모 칼럼을 2개 만들어 조회한다.
SELECT M.NO, M.CONTENT, M.SENDERID, SM.NAME, M.SENDATE, M.ACCEPERID, AM.NAME, M.ACCEPTDATE FROM MESSAGE M, MEMBER SM, MEMBER AM -- SENDER와 ACCEPTER를 구분하기 위해 MEMBER 테이블을 두번 작성 -- 조건((일반 조건) AND (조인 조건)) : 조건이 없으면 생략 가능 WHERE M.SENDERID = SM.ID AND M.ACCEPTERID = AM.ID;
OUTER JOIN
- 칼럼 뒤에 (+)
- NULL인 경우 NULL로 표시 - 데이터 나온다.
SELECT ID, NAME, TEL, M.GRADENO, GRADENAME FROM GRADE G, MEMBER M WHERE G.GRADENO = M.GRADENO(+) -- 외부 조인 OUTTER JOIN ;
- 일반 조건과 조인 조건이 있으면 일반 조건을 앞에 둔다.
WHERE (ID = 'TEST') AND (G.GRADENO = M.GRADENO);