[sql문법] Join

신창호·2023년 3월 8일
0

mysql문법

목록 보기
3/4
post-thumbnail

연습문제

INNER JOIN

  • 보통 JOIN을 이야기할 때, Inner Join을 말한다.
  • 보통 2개의 테이블을 합쳐서 구하고 싶은 테이블 값이 있으면 사용하는데, 쓰임은 아래와 같다.
SELECT <열 목록>
FROM <기준 테이블>
    INNER JOIN<참조할 테이블>
    ON <조인 조건>
[WHERE 검색조건]

예시

  • 책이 정보가 담긴 BOOK 테이블과 작가의 정보가 담긴 AUTHOR 테이블이 있다.

  • BOOK - TABLE

  • AUTHOR - TABLE
  • 해당 도서ID저자명출판일 리스트를 출력해보자
    SELECT BOOK_ID,AUTHOR_NAME, PUBLISHED_DATE
    FROM BOOK
    JOIN AUTHOR
    ORDER BY PUBLISHED_DATE ASC
    • 도서ID가 기준이 됨으로, 기준 테이블은 BOOK이다.
    • 그다음 참조해야될 테이블은 AUTHOR 테이블이다.
    • 테이블을 그냥 합치게되면(SELECT * FROM BOOK JOIN AUTHOR), 두개의 테이블을 곱해서 출력해버린 결과가 나와버린다.
  • 그래서 공통된 값으로 처리하는 ON 을 꼭 사용하여, JOIN을 수행해야된다.
    • author_id 라는 칼럼이 2번 나온걸 봐서, 겹치는 부분일 것을 알 수 있고 아래와 같이 SQL를 짜면된다.

      SELECT * FROM BOOK
      JOIN AUTHOR ON BOOK.AUTHOR_ID = AUTHOR.AUTHOR_ID 
      ORDER BY BOOK_ID;

profile
한단계씩 올라가는 개발자

0개의 댓글