[SQL문제풀기] 12세 이하인 여자 환자 목록 출력하기(SELECT)

241230
이나겸's avatar
Dec 30, 2024
[SQL문제풀기] 12세 이하인 여자 환자 목록 출력하기(SELECT)

Q.

notion image
 
 

풀이 1

💡

COALESCE()

null 값을 처리하기 위한 함수
특정 컬럼이나 표현식의 값이 null일 경우 대체할 값을 지정할 수 있음
값이 null일 경우 지정된 다른 값 반환하고, null이 아닐 경우 원래 값 반환
  • coalesce(tlno, ‘NONE’)
    • tlno가 null일 경우 “NONE” 반환하고 null이 아닐 경우 원래 tlno 값 반환
  • order by age desc, pt_name asc
    • age 기준 내림차순 정렬
    • pt_name 기준 오름차순 정렬
select pt_name, pt_no, gend_cd, age, coalesce(tlno, 'NONE') as tlno from patient where age <= 12 and gend_cd = 'W' order by age desc, pt_name asc;

풀이 2

💡

CASE문

조건에 따라 다른 값 반환하거나 특정 작업 실행하도록 하는 조건문
if-else처럼 작동하고, 데이터를 조작하거나 필터링 할 때 유용
  • case when tlno is null then 'NONE' else tlno end
    • tlno가 null일 경우 “NONE”을 반환하고 null이 아닐 경우 원래 tlno 값 반환
    • case when 조건 then 반환값 else 기본값 end(case문 종료)
select pt_name, pt_no, gend_cd, age, case when tlno is null then 'NONE' else tlno end as tlno from patient where age <= 12 and gend_cd = 'W' order by age desc, pt_name asc;
 
Share article

Nakyeom's Study