프로그래밍/MySQL

[MySQL] 프로그래머스 SQL SELECT 답 해설

모영이 2021. 2. 17. 15:23

#1 모든 레코드 조회하기

*은 모든 칼럼을 선택한다.

SELECT * 
FROM ANIMAL_INS

 

#2 역순 정렬하기

ORDER BY 칼럼 DESC -> 내림차순으로 정렬

SELECT NAME, DATETIME 
FROM ANIMAL_INS 
ORDER BY ANIMAL_ID DESC

 

#3 아픈 동물 찾기

MySQL에서는 =이 대입이 아닌 비교연산이다.

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

 

#4 어린 동물 찾기

NOT IN은 제외를 뜻한다.

SELECT ANIMAL_ID, NAME 
FROM ANIMAL_INS 
WHERE INTAKE_CONDITION NOT IN ('Aged')

 

#5 동물의 아이디와 이름

ASC는 오름차순, 생략해도 기본값이다.

SELECT ANIMAL_ID, NAME 
FROM ANIMAL_INS 
ORDER BY ANIMAL_ID ASC

 

#6 여러 기준으로 정렬하기

ORDER BY 칼럼명 차순명 콤마로 정렬 값을 추가 할 수 있다. 

재정렬이 아닌 첫번째 정렬 후 똑같은 값이면 두번째 정렬로 해주는 것이다.

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

 

#7 상위 n개 레코드

LIMIT은 offset값으로부터 n개의 데이터를 가져온다. 

offset을 설정 안하면 0이 기본값이다.

SELECT NAME 
FROM ANIMAL_INS 
ORDER BY DATETIME ASC 
LIMIT 0,1