본문 바로가기

SQL Kit/IS NULL

나이 정보가 없는 회원 수 구하기 [ 프로그래머스 | SQL Kit | Level 1 ]

1. 문제목적

IS NULL과 ORDER BY를 활용하는 법을 익히고 데이터 필터링과 정렬의 기본적인 사용 이해하는 것을 목표로 한다.


2. 핵심개념

  • IS NULL예: column_name IS NULL은 column_name이 NULL인 행을 선택한다.
  • 특정 열이 NULL 값을 가지는 행을 필터링하기 위해 사용된다. NULL은 데이터가 존재하지 않음을 의미하므로, 이를 조건으로 사용하여 데이터를 필터링할 수 있다.
  • ORDER BY기본값은 오름차순(ASC)이며, 내림차순(DESC)을 원할 경우 명시적으로 지정해야 한다.
  • 예: ORDER BY column_name ASC는 열을 오름차순으로 정렬한다.
  • 데이터를 특정 열의 값에 따라 정렬하기 위해 사용된다.

3. 문제해결절차

  1. 문제 분석
    • ANIMAL_INS 테이블에서 NAME 열이 NULL인 동물만 조회해야 한다.
    • 결과는 ANIMAL_ID를 기준으로 오름차순 정렬해야 한다.
  2. 핵심 접근법
    • WHERE 조건을 사용하여 NAME IS NULL 조건을 적용한다.
    • ORDER BY를 통해 결과를 ANIMAL_ID 기준으로 정렬한다.
  3. SQL문 설계
    • SELECT 문으로 필요한 열(ANIMAL_ID)을 선택.
    • WHERE 조건으로 NAME IS NULL을 설정.
    • ORDER BY로 결과를 정렬.

4. 코드작성

-- 이름이 없는 동물의 ID를 조회하는 SQL문
SELECT
    ANIMAL_ID               -- 동물 ID를 조회
FROM
    ANIMAL_INS              -- 데이터를 가져올 테이블
WHERE
    NAME IS NULL            -- NAME 열이 NULL인 행만 선택
ORDER BY
    ANIMAL_ID ASC;          -- 결과를 ANIMAL_ID 기준으로 오름차순 정렬
  • SELECT 문으로 출력할 열(ANIMAL_ID)을 지정.
  • 데이터를 조회할 테이블(ANIMAL_INS)을 지정.
  • WHERE 조건으로 NAME IS NULL을 설정하여 이름이 없는 행만 필터링.
  • ORDER BY를 사용해 ANIMAL_ID 기준으로 정렬.

5. 코드분석

  • SELECT ANIMAL_ID
  • 결과에 포함할 열을 선택한다. 여기서는 동물의 고유 ID를 가져온다.
  • FROM ANIMAL_INS
  • 데이터를 가져올 테이블을 지정한다.
  • WHERE NAME IS NULL
  • NAME 열의 값이 NULL인 행만 선택한다. NULL 값은 값이 비어 있거나 정의되지 않은 상태를 나타낸다.
  • ORDER BY ANIMAL_ID ASC
  • 결과를 ANIMAL_ID 기준으로 오름차순으로 정렬한다. 기본적으로 ASC(오름차순)가 설정되지만 명시적으로 표현하여 가독성을 높인다.