SQL CASE / Subquery

김상한·2022년 4월 14일
0

SQL CASE문

조건에 따라서 값을 정해주는 방법이다.

CASE 문은 약어나 코드를 읽기 쉬운 용어로 바꾸거나 데이터를 범주화하고자 할 때 활용할 수 있다. (ex. 성적, 등급)

기본구문

CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN conditionN THEN resultN
ELSE result
END;

WHEN 뒤의 조건을 만족하면 THEN 뒤에 위치한 출력된다.
주어진 조건에 모두 부합하지 않는 자료는 ELSE 뒤의 값으로 출력된다.

END 뒤에는 CASE로 바꾼 값들을 넣을 column의 이름을 넣어줄 수 있다.

Subquery

서브쿼리는 하나의 SQL 문 안에 포함되어 있는 또 다른 SQL문을 말한다.

JOIN 쿼리에서는 모든 테이블이 대등한 관계에 있기 때문에 JOIN에 참여하는 모든 테이블의 column을 사용하는 것이 자유롭다. 하지만 서브쿼리는 메인쿼리에 종속된 관계이기 때문에 서브쿼리는 메인쿼리의 column을 사용할 수 있지만 메인쿼리는 서브쿼리의 column을 사용할 수 없다.

또한 서브쿼리는 서브쿼리 레벨과는 무관하게 항상 메인쿼리의 레벨로 결과를 생성한다.

주의사항

서브쿼리는 괄호로 감싸주어야 한다.
서브쿼리는 단일 행 또는 복수 행 비교 연산자와 함께 사용 가능하다.
서브쿼리는 Order By를 활용하지 못한다.

profile
성장하는 사람

0개의 댓글