문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
wiki:database:common [2020/03/17 20:33] yspark |
wiki:database:common [2023/01/13 18:44] (현재) |
||
---|---|---|---|
줄 1: | 줄 1: | ||
====== JOIN 개념과 종류 ====== | ====== JOIN 개념과 종류 ====== | ||
- | WRAP left notice 80%> | + | <WRAP left notice 80%> |
* description : JOIN 개념과 종류 | * description : JOIN 개념과 종류 | ||
* author | * author | ||
줄 33: | 줄 33: | ||
===== INNER JOIN ===== | ===== INNER JOIN ===== | ||
* 가장 단순하고 이해하기 쉬운 조인이며 가장 일반적입니다. 이 쿼리는 오른쪽 테이블 (테이블 B)에 일치하는 레코드가있는 왼쪽 테이블 (테이블 A)의 모든 레코드를 반환합니다. 이 조인은 다음과 같이 작성됩니다. | * 가장 단순하고 이해하기 쉬운 조인이며 가장 일반적입니다. 이 쿼리는 오른쪽 테이블 (테이블 B)에 일치하는 레코드가있는 왼쪽 테이블 (테이블 A)의 모든 레코드를 반환합니다. 이 조인은 다음과 같이 작성됩니다. | ||
+ | {{: | ||
+ | <code sql> | ||
+ | SELECT < | ||
+ | FROM Table_A A | ||
+ | INNER JOIN Table_B B | ||
+ | ON A.Key = B.Key | ||
+ | </ | ||
- | * SELECT < | + | ===== Left JOIN ===== |
+ | * 이 쿼리는 오른쪽 테이블 (테이블 B)과 일치하는 레코드가 있는지 여부에 관계없이 왼쪽 테이블 (테이블 A)의 모든 레코드를 반환합니다. 또한 오른쪽 테이블에서 일치하는 레코드를 반환합니다 | ||
+ | {{: | ||
+ | <code sql> | ||
+ | SELECT < | ||
+ | FROM Table_A | ||
+ | LEFT JOIN Table_B | ||
+ | ON A.Key = B.Key | ||
+ | </ | ||
+ | |||
+ | ===== Right JOIN | ||
+ | * 이 쿼리는 왼쪽 테이블 (테이블 A)과 일치하는 레코드가 있는지에 관계없이 오른쪽 테이블 (테이블 B)의 모든 레코드를 반환합니다. 또한 왼쪽 테이블에서 일치하는 레코드를 반환합니다. 이 조인은 다음과 같이 작성 | ||
+ | {{: | ||
+ | <code sql> | ||
+ | SELECT < | ||
+ | FROM Table_A A | ||
+ | RIGHT JOIN Table_B B | ||
+ | ON A.Key = B.Key | ||
+ | </ | ||
+ | |||
+ | ===== Outer JOIN ===== | ||
+ | * 이 조인은 a FULL OUTER JOIN또는 a 라고도 합니다 FULL JOIN. 이 쿼리는 두 테이블의 모든 레코드를 반환하고 오른쪽 테이블 (테이블 B)의 레코드와 일치하는 왼쪽 테이블 (테이블 A)의 레코드를 조인 | ||
+ | {{: | ||
+ | <code sql> | ||
+ | SELECT < | ||
+ | FROM Table_A A | ||
+ | FULL OUTER JOIN Table_B B | ||
+ | ON A.Key = B.Key | ||
+ | </ | ||
+ | |||
+ | =====Left Excluding JOIN ===== | ||
+ | * 이 쿼리는 오른쪽 테이블 (테이블 B)의 레코드와 일치하지 않는 왼쪽 테이블 (테이블 A)의 모든 레코드를 반환합니다. 이 조인은 다음과 같이 작성 | ||
+ | {{: | ||
+ | <code sql> | ||
+ | SELECT < | ||
+ | FROM Table_A A | ||
+ | LEFT JOIN Table_B B | ||
+ | ON A.Key = B.Key | ||
+ | WHERE B.Key IS NULL | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Right Excluding JOIN===== | ||
+ | * 이 쿼리는 왼쪽 테이블 (테이블 A)의 레코드와 일치하지 않는 오른쪽 테이블 (테이블 B)의 모든 레코드를 반환합니다. 이 조인은 다음과 같이 작성 | ||
+ | {{: | ||
+ | <code sql> | ||
+ | SELECT < | ||
+ | FROM Table_A A | ||
+ | RIGHT JOIN Table_B B | ||
+ | ON A.Key = B.Key | ||
+ | WHERE A.Key IS NULL | ||
+ | </ | ||
+ | |||
+ | ===== Outer Excluding JOIN ===== | ||
+ | * 이 쿼리는 왼쪽 테이블 (테이블 A)의 모든 레코드와 오른쪽 테이블 (테이블 B)의 모든 레코드가 일치하지 않는 것을 반환합니다. 아직이 유형의 Join을 사용해야 할 필요는 없지만 다른 모든 유형은 매우 자주 사용합니다. 이 조인은 다음과 같이 작성 | ||
+ | {{: | ||
+ | <code sql> | ||
+ | SELECT < | ||
+ | FROM Table_A A | ||
+ | FULL OUTER JOIN Table_B B | ||
+ | ON A.Key = B.Key | ||
+ | WHERE A.Key IS NULL OR B.Key IS NULL | ||
+ | </ | ||
+ | |||
+ | ===== Ref ===== | ||
+ | * [[https:// | ||
+ | |||
+ | |||
+ | |||
+ | {{tag> | ||