DB/MySQL
조건인출 :: Column
put-stacker
2020. 6. 16. 13:52
= Select 를 이용한 인출에서 컬럼에 조건식을 부여하는 방법
1. Case Statement
단일/복합 조건인출에 사용되는 구문이다.
사용방법은 인출할 컬럼부분에 작성되며, 컬럼의 내용을 목적에 따라 커스텀할 수 있고
SubQuery 를 이용하여 조건을 확장할 수 있다.
단, From 부분에는 사용할 수 없다. 예를 들어 타입별 테이블을 불러올수 없다.
만약 타입별 분류된 테이블에서 동시인출을 시도하려면 개별인출 후 Union 하는 방법으로 대체할 수 있다.
다음은 작성법이다.
1-1. 단일 조건 ( A is B or not )
CASE case_value
WHEN when_value THEN statement_list
[WHEN when_value THEN statement_list] ...
[ELSE statement_list]
END CASE
2-2. 복합 조건 ( A is B and C or D )
CASE
WHEN search_condition THEN statement_list
[WHEN search_condition THEN statement_list] ...
[ELSE statement_list]
END CASE
2. NULLIF / IFNULL
단일 조건인출에 사용되는 함수이다.
Null IF 의 경우, 조건식에 부합하면 Null을 반환하며
IF Null 의 경우, Null조건에서 지정된 값을 반환한다.