27 Sat
데이터 분석을 위한 중급 SQL
위 아래로 데이터 이어붙이기
UNION
JOIN은 양 옆으로 데이터를 합친다면UNION은 위 아래로 데이터를 합친다.이 때 중복 데이터는 한 개만 유지된다.
MySQL에서는
FULL OUTER JOIN을 지원하지 않는데, 이 경우에LEFT JOIN과RIGHT JOIN을UNION하면 된다.ORDER BY를 할 때에는UNION뒤에 있는SELECT문에 해야 한다.UNION전에 하면 오류가 난다.
SELECT *
FROM Products
WHERE price <= 5 OR price >= 200SELECT *
FROM Products
WHERE price <=5
UNION
SELECT *
FROM Products
WHERE price >=200위 두개의 SQL은 같은 결과를 반환한다.
UNION ALL
SELECT구문에는ALL이 생략되어 있는데, 이는ALL이 default option 이기 때문. 그에 반해UNION은DISTINCT가 default option(실제로 distinct 라고 명시하지는 않는다)이고UNION ALL이 다른 옵션이다.중복 데이터의 수도 그대로 유지한다.
EXCEPT, MINUS
차집합을 의미하는 함수이다.
MySQL 에서는 지원하지 않는다.
INTERSECT
교집합을 의미하는 함수이다.
MySQL 에서는 지원하지 않는다.
Last updated
Was this helpful?