코드 그라데이션
[얄코] MySQL 2-3.집합으로 다루기 본문
연산자 | 설명 |
UNION | 중복을 제거한 집합 |
UNION ALL | 중복을 제거하지 않은 집합 |
SELECT CustomerName AS Name, City, Country, 'CUSTOMER'
FROM Customers
UNION
SELECT SupplierName AS Name, City, Country, 'SUPPLIER'
FROM Suppliers
ORDER BY Name;
실행 결과
1) 합집합
SELECT CategoryID AS ID FROM Categories
WHERE CategoryID > 4
UNION
SELECT EmployeeID AS ID FROM Employees
WHERE EmployeeID % 2 = 0;
-- UNION ALL로 바꿔볼 것
실행 결과
2) 교집합
SELECT CategoryID AS ID
FROM Categories C, Employees E
WHERE
C.CategoryID > 4
AND E.EmployeeID % 2 = 0
AND C.CategoryID = E.EmployeeID;
실행 결과
3) 차집합
SELECT CategoryID AS ID
FROM Categories
WHERE
CategoryID > 4
AND CategoryID NOT IN (
SELECT EmployeeID
FROM Employees
WHERE EmployeeID % 2 = 0
);
실행 결과
4) 대칭차집합
SELECT ID FROM (
SELECT CategoryID AS ID FROM Categories
WHERE CategoryID > 4
UNION ALL
SELECT EmployeeID AS ID FROM Employees
WHERE EmployeeID % 2 = 0
) AS Temp
GROUP BY ID HAVING COUNT(*) = 1;
실행 결과
728x90
'Database > SQL' 카테고리의 다른 글
[얄코] MySQL 3-2. 테이블 만들고 데이터 입력하기 (0) | 2023.06.11 |
---|---|
[얄코] MySQL 3. MySQL 사용하기 (0) | 2023.06.11 |
[얄코] MySQL 1-5.조건에 따라 그룹으로 묶기 (0) | 2023.06.10 |
[얄코] MySQL 1-2. 각종 연산자들 (0) | 2023.06.09 |
[얄코] MySQL Section 1-1. SELECT의 전반 기능 알아보기 (0) | 2023.06.09 |
Comments