MySQL_프로그래머스-4

soyeong·2022년 10월 20일
0

프로그래머스 SQL

목록 보기
4/6
post-thumbnail

🚩 프로그래머스(programmers)에서 제공하는 SQL 문제풀기
🚩 IS NULL

📌 Level 1

🟩 이름이 있는 동물의 아이디

1. 문제 link https://school.programmers.co.kr/learn/courses/30/lessons/59407
2. 코드

SELECT ANIMAL_ID
  FROM ANIMAL_INS
  WHERE NAME IS NOT NULL
  ORDER BY ANIMAL_ID ASC;

3. 코드 해석
해당 문제는 ANIMAL_INS 테이블에서 동물의 ID(ANIMAL_ID)를 조회하기 위해 SELECT~FROM문을 사용한다. 이때 동물 보호소에 들어온 동물 중에서 이름이 있는 동물(NAME IS NULL) 조건을 추가하기 위해 WHERE 조건절을 사용한다. 또한 ORDER BY절을 사용하여 동물의 ID(ANIMAL_ID)를 기준으로 오름차순(ASC) 정렬한다.

🟩 이름이 없는 동물의 아이디

1. 문제 link https://school.programmers.co.kr/learn/courses/30/lessons/59039
2. 코드

SELECT ANIMAL_ID
  FROM ANIMAL_INS
  WHERE NAME IS NULL
  ORDER BY ANIMAL_ID ASC;

3. 코드 해석
해당 문제는 ANIMAL_INS 테이블에서 동물의 ID(ANIMAL_ID)를 조회하기 위해 SELECT~FROM문을 사용한다. 이때 동물 보호소에 들어온 동물 중에서 이름이 없는 채로 들어온 동물(NAME IS NULL) 조건을 추가하기 위해 WHERE 조건절을 사용한다. 또한 ORDER BY절을 사용하여 동물의 ID(ANIMAL_ID)를 기준으로 오름차순(ASC) 정렬한다.

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

1. 문제 link https://school.programmers.co.kr/learn/courses/30/lessons/131114
2. 코드

SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, IFNULL(FREEZER_YN, 'N')
  FROM FOOD_WAREHOUSE
  WHERE ADDRESS LIKE '경기도%'
  ORDER BY WAREHOUSE_ID ASC;

3. 코드 해석
해당 문제는 FOOD_WAREHOUSE 테이블에서 창고의 ID(WAREHOUSE_ID), 이름(WAREHOUSE_NAME), 주소(ADDRESS), 냉동시설 여부(FREEZER_YN)를 조회하기 위해 SELECT~FROM문을 사용하고, 냉동시설 여부(FREEZER_YN)가 NULL인 경우, 'N'으로 출력하기 위해 IFNULL(열이름,대체값)함수를 사용한다. 이때 경기도에 위치한 창고(ADDRESS LIKE '경기도%') 조건을 추가하기 위해 WHERE 조건절을 사용한다. 또한 ORDER BY절을 사용하여 창고 ID(WAREHOUSE_ID)를 기준으로 오름차순(ASC) 정렬한다.

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

1. 문제 link https://school.programmers.co.kr/learn/courses/30/lessons/131528
2. 코드

SELECT COUNT(*) AS USERS
  FROM USER_INFO
  WHERE AGE IS NULL;

3. 코드 해석
해당 문제는 USER_INFO 테이블에서 나이 정보가 없는 회원이 몇 명인지 출력하기 위해 SELECT~FROM문을 사용한다. 이때 나이 정보가 없다(AGE IS NULL)라는 조건을 추가하기 위해 WHERE 조건절을 사용하고, COUNT(*)함수로 회원이 몇 명인지 계산하고 컬럼명 별칭은 USERS로 지정한다.


📌 Level 2

🟩 NULL 처리하기

1. 문제 link https://school.programmers.co.kr/learn/courses/30/lessons/59410
2. 코드

SELECT ANIMAL_TYPE, IFNULL(NAME, "No name"), SEX_UPON_INTAKE
  FROM ANIMAL_INS
  ORDER BY ANIMAL_ID ASC;

3. 코드 해석
해당 문제는 ANIMAL_INS 테이블에서 동물의 생물 종(ANIMAL_TYPE), 이름(NAME), 성별 및 중성화 여부(SEX_UPON_INTAKE)를 조회하기 위해 SELECT~FROM문을 사용하고, 이름이 없는 동물의 이름(NAME)은 "No name"으로 표시하기 위해 IFNULL(열이름,대체값)함수를 사용한다. 또한 ORDER BY절을 사용하여 동물의 아이디(ANIMAL_ID)를 기준으로 오름차순(ASC) 정렬한다.


profile
The ultimate goal is to be a Data Scientist.

0개의 댓글