Notice
Recent Posts
Recent Comments
Link
개발 공부~
[SQL 고득점 Kit] IS NULL 본문
LEVEL 1
경기도에 위치한 식품창고 목록 출력하기
- FOOD_WAREHOUSE 테이블에서 경기도에 위치한 창고의 ID, 이름, 주소, 냉동시설 여부를 조회하는 SQL문
- 이때 냉동시설 여부가 NULL인 경우, 'N'으로 출력
null 일때 -> IFNULL
SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS,
IFNULL(FREEZER_YN, "N") AS FREEZER_YN
FROM FOOD_WAREHOUSE
WHERE ADDRESS LIKE "경기도%"
ORDER BY WAREHOUSE_ID
이름이 없는 동물의 아이디
- 동물 보호소에 들어온 동물 중, 이름이 없는 채로 들어온 동물의 ID를 조회하는 SQL 문
SELECT ANIMAL_ID
FROM ANIMAL_INS
WHERE NAME IS NULL
ORDER BY ANIMAL_ID
이름이 있는 동물의 아이디
- 동물 보호소에 들어온 동물 중, 이름이 있는 동물의 ID를 조회하는 SQL 문
SELECT ANIMAL_ID
FROM ANIMAL_INS
WHERE NAME IS NOT NULL
ORDER BY ANIMAL_ID
나이 정보가 없는 회원 수 구하기
SELECT COUNT(*) AS USERS
FROM USER_INFO
WHERE AGE IS NULL
잡은 물고기의 평균 길이 구하기
- 잡은 물고기의 평균 길이를 출력하는 SQL문
- 평균 길이를 나타내는 컬럼 명은 AVERAGE_LENGTH
- 평균 길이는 소수점 3째자리에서 반올림하며, 10cm 이하의 물고기들은 10cm 로 취급하여 평균 길이 출력
SELECT ROUND(AVG(IFNULL(LENGTH,10)),2) AS AVERAGE_LENGTH
FROM FISH_INFO
LEVEL 2
NULL 처리하기
- 입양 게시판에 동물 정보를 게시하려 합니다. 동물의 생물 종, 이름, 성별 및 중성화 여부를 아이디 순으로 조회하는 SQL문
- 이때 프로그래밍을 모르는 사람들은 NULL이라는 기호를 모르기 때문에, 이름이 없는 동물의 이름은 "No name"으로 표시
SELECT ANIMAL_TYPE,
IFNULL(NAME,"No name") AS NAME, SEX_UPON_INTAKE
FROM ANIMAL_INS
ORDER BY ANIMAL_ID
ROOT 아이템 구하기
- ROOT 아이템을 찾아 아이템 ID(ITEM_ID), 아이템 명(ITEM_NAME)을 출력하는 SQL문
- 각 아이템들은 오직 하나의 PARENT 아이템 ID를 가지며, ROOT 아이템의 PARENT 아이템 ID는 NULL
- ROOT 아이템이 없는 경우는 존재하지 않음
문제 이해하는데 시간이 걸렸고 결국 부모의 아이템 아이디가 null일때의 자식 id를 찾아 출력해야한다.
SELECT ITEM_ID, ITEM_NAME
FROM ITEM_INFO
WHERE ITEM_ID IN (
SELECT ITEM_ID
FROM ITEM_TREE
WHERE PARENT_ITEM_ID IS NULL )
ORDER BY ITEM_ID
'IT > SQL' 카테고리의 다른 글
[SQL 고득점 Kit] String, Date (0) | 2024.07.04 |
---|---|
[SQL 고득점 Kit] GROUP BY (1) | 2024.07.02 |
[SQL 고득점 Kit] JOIN 1 (2) | 2024.07.02 |
[SQL 고득점 Kit] SUM, MAX, MIN (0) | 2024.07.01 |
[프로그래머스 SQL 고득점 Kit] SELECT 1 (0) | 2024.06.29 |