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 구문에 대해서 알아보았습니다. 위의 예제는 아주 기초적인 내용만 다루었고 자센한 내용은 훨씬 복잡합니다. 조건이나 복잡한 쿼리에서는 더 많은 옵션이 가능합니다.
'개발이야기 > 데이터베이스' 카테고리의 다른 글
mssql update구문에 대해 알아보자 (0) | 2023.06.12 |
---|---|
마리아DB mariadb 컬럼 추가 (0) | 2023.06.08 |
MSSQL delete 구문에 대해 알아보자 (0) | 2018.04.08 |
mssql convert 함수로 날짜를 원하는대로 출력해보자 (0) | 2017.01.31 |
MSSQL Select 구문에 대해 알아보자 (0) | 2017.01.30 |