새소식

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

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

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