SQL

[SQL 쿼리테스트] 3일차

지구(Jigoo) 2025. 6. 8. 17:59

프로그래머스 MySQL 레벨 1 문제풀이

1) 강원도에 위치한 생산공장 목록 출력하기 (풀이 완료)

SELECT FACTORY_ID, FACTORY_NAME, ADDRESS
FROM FOOD_FACTORY
WHERE ADDRESS LIKE "강원도%"
ORDER BY FACTORY_ID ASC;

 

2) 최댓값 구하기 (풀이 완료)

  • ORDER BY와 LIMIT를 사용할 시 자료 전체를 조회하고 그 중 하나를 골라내기 때문에 큰 테이블에서는 성능 저하를 일으킬 수 있으므로 집계함수(MAX) 사용 권장
SELECT DATETIME AS "시간"
FROM ANIMAL_INS
ORDER BY DATETIME DESC
LIMIT 1;

 

3) 이름이 있는 동물의 아이디 (풀이 완료)

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

 

4) 상위 n개 레코드 (풀이 완료)

SELECT NAME
FROM ANIMAL_INS
ORDER BY DATETIME ASC
LIMIT 1;

 

5) 여러 기준으로 정렬하기 (풀이 완료)

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

 

6) 동물의 아이디와 이름 (풀이 완료)

SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
ORDER BY ANIMAL_ID ASC;

 

7) 이름이 없는 동물의 아이디 (풀이 완료)

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

 

8) 어린 동물 찾기 (풀이 실패)

  • 같지 않음 기호는 != 와 <> 모두 사용할 수 있지만 <> 을 권장함
  • 틀린 이유: 조건문 철자 틀림 (Age → Aged)
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION <> "Aged" # != 와 <> 중 <> 권장
ORDER BY ANIMAL_ID ASC;

 

9) 아픈 동물 찾기 (풀이 완료)

SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION = "Sick"
ORDER BY ANIMAL_ID ASC;

 

10) 역순 정렬하기 (풀이 완료)

SELECT NAME, DATETIME
FROM ANIMAL_INS
ORDER BY ANIMAL_ID DESC;

 

11) 모든 레코드 조회하기 (풀이 완료)

SELECT *
FROM ANIMAL_INS
ORDER BY ANIMAL_ID ASC;

'SQL' 카테고리의 다른 글

[SQL 쿼리테스트] 6일차  (0) 2025.08.22
[SQL 쿼리테스트] 5일차  (2) 2025.07.15
[SQL 쿼리테스트] 4일차  (0) 2025.06.09
[SQL 쿼리테스트] 2일차  (4) 2025.06.06
[SQL 쿼리테스트] 1일차  (3) 2025.06.05