프로그래머스 : 12세 이하인 여자 환자 목록 출력하기
전화번호가 Null이면 'NONE'으로 출력한다는 조건을 어떻게 처리해야할 지 몰라 다른 사람들의 풀이를 보았다. 풀이가 다양한 게 흥미로웠다. 목적지까지 가는 방법이 하나가 아니다. 맞아, 그래서 내가 프로그래밍을 좋아했지.
select *
-- 전화번호가 NULL이면 'NONE'으로 출력
/* 1)
case
when tlno is null then 'none'
else tlno
end as tlno
*/
/* 2)
IF(TLNO IS NULL, 'NONE', TLNO) AS TLNO
*/
from PATIENT
where GEND_CD = 'W' and
AGE <= 12
order by AGE desc, PT_NAME asc;
IS NULL 처리하기
문제 이름부터 null 값을 처리하는 거라 위 문제에서 알아낸 방법 중 하나로 풀었다. C++과 파이썬 때문인지 case when 보다 if 함수가 익숙하다.
select ANIMAL_TYPE, if(NAME is null, 'No name', NAME) as NAME, SEX_UPON_INTAKE
from ANIMAL_INS
order by ANIMAL_ID;
네이버 부스트코스 SQL 4-1) 연산자
드디어 4챕터, 연산자와 함수를 다뤘다.
/*
비교 연산자
=, <>, >, <, >=, <=
*/
/*
논리 연산자
AND, NOT, OR
*/
/*
특수 연산자
between A and B : 사잇값 (등호 포함))
not between A and B : 사이값 아닌 것 (등호 미포함
in (리스트)
*/
/*
LIKE 비교문자열
like 'D%' : D로 시작
like '%N' : N로 끝
like '%EO%' : EO를 포함
not like '%EO%' : EO를 제외
*/
/*
is null : null 이면 true
is not null : 값이 있으면 true
*/
/*
산술 연산자 : +, -, *, /
*/
/*
집합 연산자
union : 2개 이상 테이블의 중복된 행 제거 (중복 :모든 열의 값이 같을 때)
union all : 2개 이상 테이블의 중복된 행 제거 없음
*/
https://www.boostcourse.org/ds102/lecture/373375?isDesc=false
네이버 부스트코스 SQL 4-2) 함수 _ 단일행 함수
/*
단일 행 함수 : 숫자, 문자, 날짜, 형변환, 일반
복수 행 함수 : 집계형, 그룹형 (group by 와 같이)
윈도우 함수 : 순위, 집계, 누적
*/
/*
단일 행 함수
_ 모든 행에 각각
_ 숫자형 : abs(), 반올림 round(숫자, N), sqrt()
_ 문자형 : lower()/upper(), left(문자, N)/right(문자, N), length()
_ 날짜형 : year/month/day(), date_add(날짜, interval), datediff(날짜1, 날짜2)
_ 형변환 : date_format('2023-06-27', '%m-%d-%y')
cast(형식1, 형식2) >> cast('2023-06-27 12:00:00' as DATE)
_ 일반 : ifnull(A, B) >> A가 Null이면 B, 아니면 A >> ifnull(NUll, 0)
case when (조건1) then (반환1)
when (조건2) then (반환2)
else (나머지) end
*/
기초 데이터 분석을 위한 핵심 SQL
부스트코스 무료 강의
www.boostcourse.org
경기도에 위치한 식품창고 목록 출력하기
네이버 부스트코스에서 배운 ifnull과 like를 사용했다. 뿌-듯.
select WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, ifnull(FREEZER_YN, 'N')
from FOOD_WAREHOUSE
where ADDRESS like '경기도%'
order by WAREHOUSE_ID asc;
'Input > SQL' 카테고리의 다른 글
네이버 부스트코스 SQL 강좌 수료 후기 (0) | 2023.07.06 |
---|---|
mySQL workbench : 테이블 불러오기 (0) | 2023.07.04 |
SQL 코딩테스트 연습 : SELECT _ 프로그래머스, 23/06/25 (0) | 2023.06.26 |
SQL 코딩테스트 연습 : SELECT _ 프로그래머스, 23/06/24 (0) | 2023.06.25 |