프로그래머스 문제풀이/SQL (MYSQL)

[MYSQL] 프로그래머스 SQL 문제풀이 - Level 1 (1~13번 문제풀이)

남건욱 2023. 11. 14. 18:43

목차

    반응형
    1. 모든 레코드 조회하기

    문제

    SELECT * FROM ANIMAL_INS
    ORDER BY ANIMAL_ID

    <작성한 코드>

    ANIMAL_INS 테이블의 모든 정보를 조회하도록 했고 ORDER BY를 사용해서 ANIMAL_ID 순으로 정렬하였다.

     

     

     

     

    2. 역순 정렬하기

    문제

    SELECT NAME, DATETIME FROM ANIMAL_INS
    ORDER BY ANIMAL_ID DESC

    <작성한 코드>

    ANIMAL_INS 테이블에서 NAME, DATETIME을 조회했고 정렬은 ANIMAL_ID를 기준으로 내림차순으로 정렬하였다.

     

     

     

     

    3. 아픈 동물 찾기

    문제

    SELECT ANIMAL_ID, NAME FROM ANIMAL_INS
    WHERE INTAKE_CONDITION = 'Sick'

    <작성한 코드>

    ANIMAL_INS 테이블에서 ANIMAL_ID, NAME을 조회했고 조건은 INTAKE_CONDITION이 Sick인 경우에만 조회해 왔다.

     

     

     

    4. 어린 동물 찾기

    문제

    SELECT ANIMAL_ID, NAME FROM ANIMAL_INS
    WHERE INTAKE_CONDITION != 'Aged'

    <작성한 코드>

    ANIMAL_INS 테이블에서 ANIMAL_ID, NAME을 조회해 왔고 조건은 INTAKE_CONDITION이 Aged가 아닌 경우에 조회해 오도록 했다.

     

     

     

     

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

    문제

    SELECT ANIMAL_ID FROM ANIMAL_INS
    WHERE NAME IS NULL

    <작성한 코드>

    ANIMAL_INS테이블에서 ANIMAL_ID를 조회했고 조건은 NAME이 NULL인 것만 조회해 오도록 했다.

     

     

     

     

    6. 동물의 아이디와 이름

    문제

    SELECT ANIMAL_ID, NAME
    FROM ANIMAL_INS
    ORDER BY ANIMAL_ID

    <작성한 코드>

    ANIMAL_INS 테이블에서 ANIMAL_ID, NAME을 조회해 왔고 ORDER BY를 사용해서 ANIMAL_ID를 기준으로 오름차순 정렬을 해줬다.

     

     

     

     

    7. 여러 기준으로 정렬하기

    문제

    SELECT ANIMAL_ID, NAME, DATETIME
    FROM ANIMAL_INS
    ORDER BY NAME, DATETIME DESC

    <작성한 코드>

    ANIMAL_INS 테이블에서 ANIMAL_ID, NAME, DATETIME을 조회해 왔고 정렬기준은 NAME을 기준으로 하며 DATETIME은 내림차순을 기준으로 정렬하였다.

     

     

     

     

    8. 상위 n개 레코드

    문제

    SELECT NAME
    FROM ANIMAL_INS
    ORDER BY DATETIME
    LIMIT 1

    <작성한 코드>

    ANIMAL_INS 테이블에서 NAME을 조회했꼬 정렬은 DATETIME을 오름차순 기준으로 정렬했다. 최상위 1개만 가져와야 하기 때문에 LIMIT는 1을 걸어줬다.

     

     

     

     

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

    문제

    SELECT ANIMAL_ID
    FROM ANIMAL_INS
    WHERE NAME IS NOT NULL

    <작성한 코드>

    ANIMAL_INS 테이블에서 ANIMAL_ID를 조회해 왔다. 조건은 NAME이 NOT NULL인것들만 조회해 왔다.

     

     

     

     

    10. 최댓값 구하기

    문제

    SELECT MAX(DATETIME) AS 시간
    FROM ANIMAL_INS

    <작성한 코드>

    ANIMAL_INS 테이블에서 DATETIME의 값이 제일 큰 데이터를 조회했다. 별칭은 AS를 사용해서 '시간'으로 지정했다.

     

     

     

     

    11. 강원도에 위치한 생상공장 목록 출력하기

    문제

    SELECT FACTORY_ID, FACTORY_NAME, ADDRESS
    FROM FOOD_FACTORY
    WHERE ADDRESS LIKE '강원도%'
    ORDER BY FACTORY_ID

    <작성한 코드>

    FOOD_FACTORY 테이블에서 FACTORY_ID, FACTORY_NAME, ADDRESS의 정보를 조회해 왔다. 조건은 ADDRESS가 강원도로 시작하는 값을 조회했고 정렬은 FACTORY_ID를 기준으로 오름차순 정렬을 해줬다.

     

     

     

     

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

     

    문제

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

    <작성한 코드>

    FOOD_WAREHOUSE 테이블에서 WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS와 COALESCE를 사용해서 FREEZER_YN값이 NULL값인 것을 N으로 대체하고 별칭은 FREEZER_YN으로 줬다. 조건은 ADDRESS가 경기도로 시작하는 값만 가져오도록 했고, 정렬은 WAREHOUSE_ID를 기준으로 오름차순으로 했다.

     

     

     

     

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

    문제

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

    <작성한 코드>

    USER_INFO 테이블에서 USER_ID의 개수를 조회해 왔다. 별칭은 USERS로 줬고 조건은 AGE가 NULL인 것들만 찾아서 조회했다.

    반응형
    프로필사진

    남건욱's 공부기록