반응형
🚀여기서 알아볼 내용
Join과 Union(Union All)에 대해서 쉽게! 이해하자.
- Join과 Union의 차이점을 그림을 통해 쉽게 이해할 수 있다.
- Union과 Union All의 차이점을 금방 이해할 수 있다.
- Inner Join, Left Outer Join, Right Outer Join, Cross Join를 정확히 구분할 수 있다.
🤼♂️Join과 Union의 공통점과 차이점
- 공통점 - 테이블의 데이터를 연결
- 차이점 - 연결하는 방법이 다름
🧷결합되는 방식
Join은 테이블의 Column이 추가되는 형식으로 데이터가 옆으로 연결됨
Union은 데이터가 추가되는 형식으로 아래에 연결됨
결합되는 방식의 차이점을 그림으로 어떻게 연결되는지 확인해보자.
🎨Join의 결합 방식을 그림으로 표현
🎨Union의 결합 방식을 그림으로 표현
🤼♂️Union과 Union All의 차이점 및 사용법
Union : 중복 데이터 값 삭제하고 연결
Union All : 중복되는 값 모두 연결
📑사용법
연결하고자 하는 Column의 개수와 타입이 같아야 연결할 수 있습니다.
-- 포맷:
-- SELECT * FROM [테이블 이름 1]
-- UNION/UNION All
-- SELECT * FROM [테이블 이름 2]
SELECT * FROM Table1 UNION SELECT * FROM Table2
SELECT * FROM Table1 UNION ALL SELECT * FROM Table2
🔗Inner Join, Left Outer Join, Right Outer Join, Cross Join
✅INNER JOIN ➡ 교집합적인 데이터만 연결시켜주고 나머지는 버린다
-- 포맷:
-- SELECT [별칭.필드1], [별칭.필드2]... FROM [Table 이름] AS [별칭] INNER JOIN [Table 이름] AS [별칭] ON [조건]
SELECT a.myAge, a.myName, b.myId FROM mytable AS a INNER JOIN testtable AS b on a.myname = b.myname
✅LEFT OUTER JOIN ➡ 왼쪽은 모두 연결 오른쪽은 교집합 부분만 연결한다.
-- 포맷:
-- SELECT [별칭.필드1], [별칭.필드2]... FROM [Table 이름] AS [별칭] LEFT OUTER JOIN [Table 이름] AS [별칭] ON [조건]
SELECT a.myAge, a.myName, b.myId FROM mytable AS a LEFT OUTER JOIN testtable AS b on a.myname = b.myname
✅RIGHT OUTER JOIN ➡ 오른쪽은 모두 연결 왼쪽은 교집합 부분만 연결한다.
-- 포맷:
-- SELECT [별칭.필드1], [별칭.필드2]... FROM [Table 이름] AS [별칭] LEFT OUTER JOIN [Table 이름] AS [별칭] ON [조건]
SELECT a.myAge, a.myName, b.myId FROM mytable AS a RIGHT OUTER JOIN testtable AS b on a.myname = b.myname
✅CROSS JOIN ➡ 두 데이터의 모든 경우의 수
-- 포맷:
-- SELECT [별칭.필드1], [별칭.필드2]... FROM [Table 이름] AS [별칭] CROSS JOIN [Table 이름] AS [별칭]
SELECT a.myAge, a.myName, b.myId FROM mytable AS a CROSS JOIN testtable AS b
-- SELECT [별칭.필드1], [별칭.필드2]... FROM [Table 이름] AS [별칭], [Table 이름] AS [별칭]
-- CROSS JOIN 대신 ,(콤마) 로도 가능
SELECT a.myAge, a.myName, b.myId FROM mytable AS a, testtable AS b
반응형
'개발 > Database' 카테고리의 다른 글
MSSQL 저장 프로시저 코드 조회 - 에러 발생 시 (0) | 2021.10.15 |
---|---|
MSSQL PK FK UK CK 란? 개념 이해 (0) | 2021.10.14 |
SQLBindParameter SQLBindCol 차이 (0) | 2021.10.14 |
[MSSQL]기본 CRUD 쿼리 예제 및 기본 개념 이해 (0) | 2021.10.13 |