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 파트 완료했습니다!
더 좋은 풀이법이 있다면 댓글로 알려주세요 :)