집합
2022. 3. 17. 21:17ㆍSQL
합집합
- [쿼리 A] UNION [쿼리B] 또는 [쿼리 A] UNION ALL [쿼리B] 형식으로 사용함
- [쿼리 A]와 [쿼리 B]의 결과 값을 합쳐서 보여줌
- [쿼리 A]와 [쿼리 B]의 결과 값의 개수가 같아야 하며 다를 경우 에러가 발생함
- ORDER BY는 쿼리 가장 마지막에 작성 가능하고, [쿼리 A]에서 가져온 컬럼으로만 가능
UNION은 동일한 값은 제외하고 보여주며, UNION ALL은 동일한 값도 포함하여 보여줌
교집합
- MYSQL에는 두 표현이 존재하지 않아 JOIN을 사용해 표현
SELECT [컬럼 이름]
FROM [테이블 A 이름] AS A
INNER JOIN [테이블 B 이름] AS B
ON A.[컬럼1 이름] = B.[컬럼1 이름] AND ... AND A.[컬럼n 이름] = B.[컬럼n 이름];
교집합을 확인 하고 싶은 컬럼은 모두 다 기준으로 두고 합쳐 줘야 함 (단순 INNER JOIN과의 차이점)
차집합
SELECT [컬럼 이름]
FROM [테이블 A 이름] AS A
LEFT JOIN [테이블 B 이름] AS B
ON A.[컬럼1 이름] = B.[컬럼1 이름] AND ... AND A.[컬럼n 이름] = B.[컬럼n 이름]
WHERE B.[컬럼 이름] IS NULL;
'SQL' 카테고리의 다른 글
GROUP BY, HAVING (0) | 2022.03.17 |
---|---|
제약조건 , 권한 (0) | 2022.03.17 |
Index (0) | 2022.03.17 |
Trigger (0) | 2022.03.17 |
SQL : Between, In, Limit (0) | 2022.03.17 |