티스토리 뷰

SQL

[Programmers] Lv1. 상위 n개 레코드

오탱 2023. 7. 23. 23:17

Lv1. 상위 N개 레코드

문제

- 동물 보호소에 가장 먼저 들어온 동물의 이름을 조회하는 SQL문 작성하기

- Lv1이지만 헷갈리기 좋은 문제! - 서브쿼리 , ORDER BY 후 LIMIT 이용 2가지 방법으로 풀이

 

풀이1 : 서브쿼리 이용

SELECT NAME FROM ANIMAL_INS
WHERE DATETIME = (SELECT MIN(DATETIME) FROM ANIMAL_INS)

- WHERE DATETIME = MIN 어쩌구~ 이렇게 사용하고 싶겠지만, WHERE문에는 집계함수가 들어갈 수 없음!!

- 집계함수를 쓰고 싶다면 서브쿼리를 이용해서 써줘야 한다~

풀이2 : ORDER BY 해준 후, LIMIT 이용해 1개만 출력

SELECT NAME FROM ANIMAL_INS
ORDER BY DATETIME ASC
LIMIT 1;

- ORDER BY 이용해서 동물 보호소 들어온 순서대로 나열 해준 후,  LIMIT을 이용해서 앞에 1개만 출력해주기!