SELECT name, address,
CASE WHEN address = '서울시' THEN '경기'
WHEN address = '인천시' THEN '경기'
ELSE NULL END AS district
FROM address;
CASE식의 강력한 점은 '식'이라는 것이다.
따라서 식을 적을 수 있는 곳이라면 어디든지 적을 수 있다.
SELET, WHERE, GROUP BY, HAVING, ORDER BY 구와 같은 곳 어디에나 적을 수 있다.
** CASE식은 SQL성능과도 큰 관련이 있음!!!
SELECT *
FROM address
UNION
SELECT *
FROM address2
INTERSECT로 교집합 구하기
INTERSECT는 양쪽 테이블에 공통으로 존재하는 레코드를 출력,
중복된 것이 있다면 해당 레코드는 제외된다.
EXCEPT로 차집합 구하기
SELECT *
FROM address
EXCEPT
SELECT *
FROM address2;
// address - address2
EXCEPT에는 UNION과 INTERSECT에는 없는 주의사항이 있다.
UNION과 INTERSECT에는 어떤 테이블을 먼저 적든 그 순서와 상관없이 결과가 같다. 하지만 EXCEPT의 경우는 순서가 중요!