Lv1. 경기도에 위치한 식품창고 목록 출력하기
https://school.programmers.co.kr/learn/courses/30/lessons/131114
[풀이1 : IFNULL]
SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, IFNULL(FREEZER_YN ,"N")
FROM FOOD_WAREHOUSE
WHERE ADDRESS LIKE "%경기%"
ORDER BY WAREHOUSE_ID
[풀이2 : IF]
SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, IF(FREEZER_YN IS NULL,"N",FREEZER_YN)
FROM FOOD_WAREHOUSE
WHERE ADDRESS LIKE "%경기%"
ORDER BY WAREHOUSE_ID
[풀이3 : CASE WHEN]
SELECT
WAREHOUSE_ID,
WAREHOUSE_NAME,
ADDRESS,
CASE
WHEN FREEZER_YN IS NULL THEN "N"
ELSE FREEZER_YN
END AS FREEZER_YN
FROM FOOD_WAREHOUSE
WHERE ADDRESS LIKE "%경기도%"
ORDER BY WAREHOUSE_ID ASC;
Lv1. 이름이 없는 동물의 아이디
https://school.programmers.co.kr/learn/courses/30/lessons/59039
[풀이]
SELECT ANIMAL_ID
FROM ANIMAL_INS
WHERE NAME IS NULL
Lv1. 이름이 있는 동물의 아이디
https://school.programmers.co.kr/learn/courses/30/lessons/59407
[풀이]
SELECT ANIMAL_ID
FROM ANIMAL_INS
WHERE NAME IS NOT NULL
ORDER BY ANIMAL_ID
Lv1. 나이 정보가 없는 회원 수 구하기
https://school.programmers.co.kr/learn/courses/30/lessons/131528
[풀이]
SELECT COUNT(*) AS USERS
FROM USER_INFO
WHERE AGE IS NULL
이 문제는 살짝(?) 조심해야 될 점이있다.
COUNT 함수를 사용할 때 *를 사용할 경우 주의해야한다.
COUNT(*) 의 경의 NULL값을 포함하여 계산한다.
COUNT(AGE) 처럼 컬럼을 지정해줄 경우에는 NULL값을 포함하지 않고 계산한다.
따라서 COUNT(*)를 사용해서 풀었다면 WHERE 절에서 NULL이 아닐 경우를 체크해줘야한다.
만약 COUNT(특정 컬럼) 이라면 그대로 쓰면된다.
SELECT COUNT(AGE) AS USERS
FROM USER_INFO
Lv2. NULL 처리하기
https://school.programmers.co.kr/learn/courses/30/lessons/59410
[풀이]
SELECT ANIMAL_TYPE ,IFNULL(NAME,'No name') AS NAME,SEX_UPON_INTAKE
FROM ANIMAL_INS
'SQL' 카테고리의 다른 글
Having에 Select의 Alias(별칭)을 쓸 수 있다니.. (0) | 2023.06.20 |
---|---|
프로그래머스 SQL 고득점 Kit 풀이 - JOIN 편 (0) | 2023.05.26 |
프로그래머스 SQL 고득점 Kit 풀이 - SUM, MAX, MIN 편 (0) | 2023.05.11 |
프로그래머스 SQL 고득점 Kit 풀이 - SELECT 편 (0) | 2023.05.03 |