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조건에서 지정된 값을 반환한다.

 

 

 

https://dev.mysql.com/doc/refman/8.0/en/case.html