[MySQL] programmers SQL 고득점 Kit: IS NULL

Jnary·2024년 2월 15일
0

Database

목록 보기
14/14
post-thumbnail

https://school.programmers.co.kr/learn/courses/30/parts/17045

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

  • FOOD_WAREHOUSE 식품창고 정보 테이블
    • WAREHOUSE_ID 창고 ID
    • WAREHOUSE_NAME 창고 이름
    • ADDRESS 창고 주소, NULL
    • TLNO 전화번호, NULL
    • FREEZER_YN 냉동시설 여부, NULL
  • 문제
    • 경기도에 위치
      WHERE ADDRESS like '경기도%'
    • 창고의 ID, 이름, 주소, 냉동시설 여부 출력
      SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, FREEZER_YN
    • 냉동시설여부 = NULL → ‘N’으로 출력
      SELECT IFNULL(FREEZER_YN, 'N')
    • 창고ID 기준 오름차순 정렬
      ORDER BY WAREHOUSE_ID
  • 정답
    SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, IFNULL(FREEZER_YN, 'N')
    FROM FOOD_WAREHOUSE
    WHERE ADDRESS like '경기도%'
    ORDER BY WAREHOUSE_ID

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

  • ANIMAL_INS 동물 보호소에 들어온 동물 정보 테이블
    • ANIMAL_ID 동물의 아이디
    • ANIMAL_TYPE 생물 종
    • DATETIME 보호 시작일
    • INTAKE_CONDITION 보호 시작 시 상태
    • NAME 이름, NULL
    • SEX_UPON_INTAKE 성별 및 중성화 여부
  • 문제
    • 이름이 없는 채로 들어온 동물
      WHERE NAME is null
    • ID 조회
      SELECT ANIMAL_ID
    • ID 오름차순 정렬
      ORDER BY ANIMAL_ID
  • 정답
    SELECT ANIMAL_ID
    FROM ANIMAL_INS
    WHERE NAME is null
    ORDER BY ANIMAL_ID

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

  • 정답
    SELECT ANIMAL_ID
    FROM ANIMAL_INS
    WHERE NAME is not null
    ORDER BY ANIMAL_ID

Lv2. NULL 처리하기

  • 문제
    • 동물의 생물 종, 이름, 성별 및 중성화 여부 출력
    • 아이디 순으로
    • NULL이면 No name으로 표시
      SELECT IFNULL(NAME, 'No name')
  • 정답
    SELECT ANIMAL_TYPE, IFNULL(NAME, 'No name') NAME, SEX_UPON_INTAKE
    FROM ANIMAL_INS
    ORDER BY ANIMAL_ID

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

  • USER_INFO 의류 쇼핑몰에 가입한 회원 정보 테이블
    • USER_ID 회원 ID
    • GENDER 성별, NULL
    • AGE 나이, NULL
    • JOINED 가입일
  • 문제
    • 나이 정보가 없는 회원 몇 명?
    • 칼럼명은 USERS로 지정
  • 정답
    SELECT COUNT(*) USERS
    FROM USER_INFO
    WHERE AGE is null
  • 배울점
    • NULL 처리는 IFNULL() , is null만 알아도 충분한 것 같다.
profile
숭실대학교 컴퓨터학부 21

0개의 댓글