본문 바로가기

SQL Kit/SELECT

잔챙이 잡은 수 구하기 [ 프로그래머스 | SQL Kit | Level 1 ]

1. 문제목적

  • WHERE 절: 특정 조건을 만족하는 데이터를 필터링하기 위해 사용.
  • NULL 처리: NULL 값을 다루는 방법.
  • COUNT 함수: 특정 조건을 만족하는 데이터의 개수를 구하는 방법.
  • AS 키워드: 결과 컬럼 이름을 변경하는 방법.

2. 핵심개념

WHERE 절

WHERE는 데이터베이스에서 특정 조건을 만족하는 데이터를 필터링할 때 사용된다.

SELECT column_name FROM table_name WHERE condition;

NULL 처리

  • NULL 값은 데이터가 존재하지 않음을 의미한다.
  • NULL과 비교할 때는 IS NULL 또는 IS NOT NULL 조건을 사용해야 한다.
WHERE column_name IS NULL;

COUNT 함수

COUNT는 특정 조건을 만족하는 행의 수를 계산하는 집계 함수이다.

SELECT COUNT(*) FROM table_name WHERE condition;

AS 키워드

결과 컬럼에 별칭을 부여하여 가독성을 높인다.

SELECT COUNT(*) AS column_alias FROM table_name;

3. 문제해결 절차

  1. 데이터 분석:
    • FISH_INFO 테이블에서 LENGTH가 10 이하이거나 NULL인 물고기의 수를 구해야 한다.
    • 결과 컬럼은 FISH_COUNT로 명명해야 한다.
  2. 조건 설정:
    • LENGTH가 10 이하인 경우 또는 NULL인 데이터를 필터링한다.
  3. NULL 처리:
    • WHERE 조건에서 IS NULL을 사용해 NULL 값을 포함.
  4. 집계:
    • 필터링된 데이터를 COUNT 함수로 개수를 계산한다.
  5. 결과 출력:
    • 결과에 별칭(FISH_COUNT)을 부여한다.

4. 코드작성

-- FISH_INFO 테이블에서 LENGTH가 10 이하이거나 NULL인 물고기의 수를 조회
SELECT
    COUNT(*) AS FISH_COUNT -- 필터링된 물고기의 개수를 FISH_COUNT라는 별칭으로 출력
FROM
    FISH_INFO -- 데이터를 조회할 테이블
WHERE
   LENGTH IS NULL; -- LENGTH가 NULL인 데이터를 포함

5. 코드분석

SELECT 절

  • SELECT COUNT(*)는 FISH_INFO 테이블의 조건에 맞는 행의 개수를 반환한다.
  • AS FISH_COUNT는 결과 컬럼의 이름을 FISH_COUNT로 설정하여 가독성을 높인다.

FROM 절

  • 데이터를 조회할 대상 테이블인 FISH_INFO를 지정.

WHERE 절

  • LENGTH IS NULL 조건은 LENGTH가 NULL인 데이터도 포함한다.
  • OR 연산자를 사용하여 두 조건을 모두 만족하는 데이터를 필터링한다.

COUNT 함수

  • COUNT는 필터링된 행의 개수를 계산한다.
  • NULL 값은 기본적으로 COUNT 함수에서 제외되지만, WHERE LENGTH IS NULL로 포함시켰다.