새소식

DataBase/MySQL

mysql - join

  • -

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';

image

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를 쓰면 첫 번째 테이블의 내용은 모두 검색 되어야 한다는 뜻
    image
  • outer 앞에 right를 쓰면 두 번째 테이블의 내용은 모두 검색 되어야 한다는 뜻
    image
  • outer 앞에 full 쓰면 모든 테이블의 내용은 모두 검색 되어야 한다는 뜻
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.