-
SQL 조인의 작동원리 - How do SQL Joins WorkReview/ByteByteGo - System Design 2024. 8. 2. 15:32반응형
SQL 조인의 종류
SQL 조인은 두 개 이상의 테이블에서 데이터를 결합하여 단일 결과 집합을 생성하는 데 사용됩니다. 주요 조인의 종류는 다음과 같습니다:
INNER JOIN (내부 조인):
설명: 두 테이블에서 공통된 값을 가진 행만 결합합니다.
예시 쿼리:SELECT A.column1, B.column2 FROM TableA A INNER JOIN TableB B ON A.common_column = B.common_column;
LEFT JOIN (또는 LEFT OUTER JOIN):
설명: 왼쪽 테이블의 모든 행과 오른쪽 테이블의 일치하는 행을 결합합니다. 일치하지 않는 경우 NULL로 표시됩니다.
예시 쿼리:SELECT A.column1, B.column2 FROM TableA A LEFT JOIN TableB B ON A.common_column = B.common_column;
RIGHT JOIN (또는 RIGHT OUTER JOIN):
설명: 오른쪽 테이블의 모든 행과 왼쪽 테이블의 일치하는 행을 결합합니다. 일치하지 않는 경우 NULL로 표시됩니다.
예시 쿼리:SELECT A.column1, B.column2 FROM TableA A RIGHT JOIN TableB B ON A.common_column = B.common_column;
FULL JOIN (또는 FULL OUTER JOIN):
설명: 두 테이블에서 일치하는 행을 모두 결합하며, 일치하지 않는 경우에는 NULL로 표시됩니다.
예시 쿼리:SELECT A.column1, B.column2 FROM TableA A FULL JOIN TableB B ON A.common_column = B.common_column;
CROSS JOIN (교차 조인):
설명: 두 테이블의 모든 행을 결합하여 데카르트 곱을 생성합니다.
예시 쿼리:SELECT A.column1, B.column2 FROM TableA A CROSS JOIN TableB B;
조인 예제
-- TableA와 TableB가 있다고 가정 TableA: +----+-------+ | id | name | +----+-------+ | 1 | John | | 2 | Jane | | 3 | Dave | +----+-------+ TableB: +----+---------+ | id | address | +----+---------+ | 1 | USA | | 2 | UK | | 4 | Canada | +----+---------+ -- INNER JOIN 예제 SELECT A.name, B.address FROM TableA A INNER JOIN TableB B ON A.id = B.id; -- 결과: John - USA, Jane - UK -- LEFT JOIN 예제 SELECT A.name, B.address FROM TableA A LEFT JOIN TableB B ON A.id = B.id; -- 결과: John - USA, Jane - UK, Dave - NULL -- RIGHT JOIN 예제 SELECT A.name, B.address FROM TableA A RIGHT JOIN TableB B ON A.id = B.id; -- 결과: John - USA, Jane - UK, NULL - Canada -- FULL JOIN 예제 SELECT A.name, B.address FROM TableA A FULL JOIN TableB B ON A.id = B.id; -- 결과: John - USA, Jane - UK, Dave - NULL, NULL - Canada -- CROSS JOIN 예제 SELECT A.name, B.address FROM TableA A CROSS JOIN TableB B; -- 결과: John - USA, John - UK, John - Canada, Jane - USA, Jane - UK, Jane - Canada, Dave - USA, Dave - UK, Dave - Canada
반응형'Review > ByteByteGo - System Design' 카테고리의 다른 글
SW 아키텍처 스타일 - Top Architectural Styles (0) 2024.08.02 넷플릭스를 구성하는 기술 - Netflix's Tech Stack (2) 2024.08.02 리눅스 부팅 과정 설명 (0) 2024.08.01 REST API 인증 방법 (0) 2024.08.01 API 성능을 향상시키는 5가지 일반적인 방법 (0) 2024.08.01