티스토리 뷰

Oracle

[Oracle] Join

devbelly 2021. 1. 5. 12:51

데이터를 베이스화 해서 사용하면 효율적으로 정보를 저장하기 위해 여러 개의 테이블로 나누어 정보들을 저장하게 됩니다. 나뉜 테이블을 조합하여 정보를 조회하기 위해 JOIN을 사용합니다.

 

✔ INNER JOIN

두 테이블에서 ON을 통한 조건절을 통해 특정 RECORD만 조회를 합니다. MEMBER 와 NOTICE 테이블을 예로 들면 아래와 같이 작성가능합니다.

SELECT * FROM MEMBER INNER JOIN NOTICE ON MEMBER.ID=NOTICE.WRITER_ID;

MEMBER.ID 와 NOTICE.WRIDER_ID 가 같은 정보를 가리키므로 양쪽에 동일한 ID가 있을 때 조회를 합니다.

 

✔ OUTER JOIN

INNER 와 달리 OUTER은 두 집합이 가리키는 벤다이어그램이 있을 때, 합집합을 나타냅니다. LEFT / RIGHT / FULL 로 나뉘며 LEFT, RIGHT의 기준은 쿼리에서 작성한 순서입니다. 만약 MEMBER별 작성 글의 수를 조회하고 싶다면 다음과 같이 작성해야 합니다.

SELECT MEMBER.ID,MEMBER.NAME, COUNT(NOTICE.ID) FROM MEMBER LEFT OUTER JOIN NOTICE ON MEMBER.ID=NOTICE.WRITER_ID GROUP BY MEMBER.ID,MEMBER.NAME;

 

 

아래의 벤다이어그램을 통해 쉽게 이해할 수 있습니다.

 

출처

www.youtube.com/channel/UC5-ixpj8DioZqmrasj6Ihpw

www.codeproject.com/Articles/33052/Visual-Representation-of-SQL-Joins

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함