본문 바로가기
개발이야기/데이터베이스

mssql join 에 대해서 알아보자

by 시다파파 2023. 8. 25.
반응형

SQL에서 JOIN 구문은 두 개 이상의 테이블에서 관련된 데이터를 연결하는 데 사용됩니다. SQL Server(MSSQL)에서도 이 JOIN 구문을 사용하여 다양한 종류의 조인 작업을 수행할 수 있습니다.



1. INNER JOIN

1.1. 정의

두 테이블에서 지정된 조건에 일치하는 레코드만 가져옵니다.

1.2. 예제

SELECT A.column1, B.column2
FROM TableA A
INNER JOIN TableB B ON A.common_field = B.common_field;

 

 

 


2. LEFT JOIN (or LEFT OUTER JOIN)

2.1. 정의

왼쪽 테이블의 모든 레코드와 오른쪽 테이블에서 일치하는 레코드를 가져옵니다. 일치하지 않는 경우에는 NULL을 반환합니다.

2.1. 예제

SELECT A.column1, B.column2
FROM TableA A
LEFT JOIN TableB B ON A.common_field = B.common_field;

 

 


3. RIGHT JOIN (or RIGHT OUTER JOIN)

3.1. 정의

오른쪽 테이블의 모든 레코드와 왼쪽 테이블에서 일치하는 레코드를 가져옵니다. 일치하지 않는 경우에는 NULL을 반환합니다.

3.1. 예제

SELECT A.column1, B.column2
FROM TableA A
RIGHT JOIN TableB B ON A.common_field = B.common_field;

 

 

4. FULL OUTER JOIN

4.1. 정의

두 테이블의 모든 레코드를 가져옵니다. 일치하지 않는 레코드의 경우 NULL을 반환합니다.

4.2. 예제

SELECT A.column1, B.column2
FROM TableA A
FULL OUTER JOIN TableB B ON A.common_field = B.common_field;

 

 

 

5. CROSS JOIN

5.1. 정의

왼쪽 테이블의 모든 레코드와 오른쪽 테이블의 모든 레코드의 조합을 가져옵니다.

5.2. 예제

SELECT A.column1, B.column2
FROM TableA A
CROSS JOIN TableB B;

 

 

6. SELF JOIN

6.1. 정의

테이블을 자기 자신과 조인합니다. 이렇게 하려면 별칭을 사용해야 합니다.

6.2. 예제

SELECT A.column1, B.column2
FROM TableA A, TableA B
WHERE A.common_field = B.common_field;

 

지금까지  MSSQL에서 사용되는 기본적인 JOIN 구문에 대해서 알아보았습니다. 위의 예제는 아주 기초적인 내용만 다루었고 자센한 내용은 훨씬 복잡합니다. 조건이나 복잡한 쿼리에서는 더 많은 옵션이 가능합니다.

 

반응형