1. CASE 문법

조건식을 따질 때 사용한다.

CASE

  when 조건1 then 값1

  when 조건2 then 값2

  when 조건3 then 값3

END

여기서 주의해야할 점은, 콤마가 없다는 것이다.

 

사용예제)

select *,

case

  when no=1 then 'first'

  when no=2 then 'second'

  else 'ok'

end as 'show'

from 테이블명;

→ 해석:

    1) 테이블에서 모든 fields를 추출한다 (*)

    2) no가 1일 때 first

    3) no가 2일 때 second

    4) 나머지는 ok로

    5) 조건값으로 추출된 필드명은 show로

 

2. IF 문법

case와 동일하게 조건식을 따질 때 사용한다.

IF ( 필드명='비교값', 값1, 값2 )

필드명이랑 비교값이 같으면 값1, 아니면 값2

 

사용예제)

select * ,

IF( no=1, '1', '1등이 아니다')

from 테이블명;

→ 해석:

    1) 테이블에서 모든 fields를 추출한다 (*)

    2) no가 1일 때 '1등',

    3) 아니라면 '1등이 아니다'로

 

3. 집계함수 + IF

select count( if (no=1, '일', null) ) as '일이몇개' from 테이블명;

→ 해석:

    1) 테이블에서 no가1인 값이면 일

    2) 아니면 null

    3) 위 조건에서 '일'인 값을 count하고

    4) 필드명은 일이몇개로 출력

 

위와 같은 결과물을 얻는 문법: (sum 사용)

select sum( if (no=1, 1, 0)) as '일이몇개' from 테이블명;

 

4. GROUP BY

컬럼의 data값을 그룹화하여 결과를 보고자할 때 사용한다.

SELECT 컬럼

FROM 테이블

GROUP BY 컬럼;

group by는 대표값만 나온다.

 

'배운 내용 정리 > MYSQL' 카테고리의 다른 글

rownum  (0) 2020.03.05
날짜함수, 카운트, 집계함수  (0) 2020.01.27
[학습정리] 2020.01.14 - outer join, repeat  (0) 2020.01.16
[학습정리] 2020.01.14 - inner join  (0) 2020.01.15
[학습정리] 2020.01.10 - having  (0) 2020.01.11

+ Recent posts