Skills/SQL

[프로그래머스] SQL 고득점 Kit 문제풀이 - IS NULL

602yu 2023. 12. 8. 13:49

https://school.programmers.co.kr/learn/challenges?tab=sql_practice_kit

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

풀이는 MySQL 입니다.

 

IS NULL

 

1. 경기도에 위치한 식품창고 목록 출력하기

  • FOOD_WAREHOUSE 테이블에서 경기도에 위치한 창고의 ID, 이름, 주소, 냉동시설 여부를 조회하는 SQL문을 작성해주세요. 이때 냉동시설 여부가 NULL인 경우, 'N'으로 출력시켜 주시고 결과는 창고 ID를 기준으로 오름차순 정렬해주세요.
SELECT warehouse_id
    , warehouse_name
    , address
    , IF(freezer_yn IS NULL, 'N', freezer_yn) AS freezer_yn
FROM food_warehouse
WHERE address LIKE '경기%'
ORDER BY warehouse_id

 

 

2. 이름이 없는 동물의 아이디

  • 동물 보호소에 들어온 동물 중, 이름이 없는 채로 들어온 동물의 ID를 조회하는 SQL 문을 작성해주세요. 단, ID는 오름차순 정렬되어야 합니다.
SELECT animal_id
FROM animal_ins
WHERE name IS NULL
ORDER BY animal_id

 

 

3. 이름이 있는 동물의 아이디

  • 동물 보호소에 들어온 동물 중, 이름이 있는 동물의 ID를 조회하는 SQL 문을 작성해주세요. 단, ID는 오름차순 정렬되어야 합니다.
SELECT animal_id
FROM animal_ins
WHERE name IS NOT NULL
ORDER BY animal_id

 

 

4. NULL 처리하기

  • 입양 게시판에 동물 정보를 게시하려 합니다. 동물의 생물 종, 이름, 성별 및 중성화 여부를 아이디 순으로 조회하는 SQL문을 작성해주세요. 이때 프로그래밍을 모르는 사람들은 NULL이라는 기호를 모르기 때문에, 이름이 없는 동물의 이름은 "No name"으로 표시해 주세요.
SELECT animal_type
    , IF(name IS NULL, "No name", name) AS name
    , sex_upon_intake
FROM animal_ins

 

 

5. 나이 정보가 없는 회원 수 구하기

  • USER_INFO 테이블에서 나이 정보가 없는 회원이 몇 명인지 출력하는 SQL문을 작성해주세요. 이때 컬럼명은 USERS로 지정해주세요.
SELECT COUNT(DISTINCT user_id) AS users
FROM user_info
WHERE age IS NULL

 

 

IS NULL 파트 완료했습니다!

더 좋은 풀이법이 있다면 댓글로 알려주세요 :)