조건에 따라서 값을 정해주는 방법이다.
CASE 문은 약어나 코드를 읽기 쉬운 용어로 바꾸거나 데이터를 범주화하고자 할 때 활용할 수 있다. (ex. 성적, 등급)
기본구문
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN conditionN THEN resultN
ELSE result
END;
WHEN 뒤의 조건을 만족하면 THEN 뒤에 위치한 출력된다.
주어진 조건에 모두 부합하지 않는 자료는 ELSE 뒤의 값으로 출력된다.
END 뒤에는 CASE로 바꾼 값들을 넣을 column의 이름을 넣어줄 수 있다.
서브쿼리는 하나의 SQL 문 안에 포함되어 있는 또 다른 SQL문을 말한다.
JOIN 쿼리에서는 모든 테이블이 대등한 관계에 있기 때문에 JOIN에 참여하는 모든 테이블의 column을 사용하는 것이 자유롭다. 하지만 서브쿼리는 메인쿼리에 종속된 관계이기 때문에 서브쿼리는 메인쿼리의 column을 사용할 수 있지만 메인쿼리는 서브쿼리의 column을 사용할 수 없다.
또한 서브쿼리는 서브쿼리 레벨과는 무관하게 항상 메인쿼리의 레벨로 결과를 생성한다.
주의사항
서브쿼리는 괄호로 감싸주어야 한다.
서브쿼리는 단일 행 또는 복수 행 비교 연산자와 함께 사용 가능하다.
서브쿼리는 Order By를 활용하지 못한다.