SELECT 5문제 풀이 (프로그래머스)

는는·2023년 1월 20일
0

SQL - 문제 풀이

목록 보기
14/77

모든 레코드 조회하기

https://school.programmers.co.kr/learn/courses/30/lessons/59034

모든 정보를 동물의 아이디 순으로 정렬하는 문제입니다.

정답

SELECT *
FROM animal_ins
ORDER BY animal_id

상위 n개 레코드

https://school.programmers.co.kr/learn/courses/30/lessons/59405

SELECT *
FROM ANIMAL_INS

동물 보호소에 가장 먼저 들어온 동물의 이름을 조회하는 문제인데요.

ORDER BY로 보호 시작 기준을 오름차순 정렬해줍니다.

ORDER BY DATETIME 

이제 LIMIT를 이용해 , 상위 1개의 이름 불러오면 정답입니다.

SELECT name
LIMIT 1


정답

SELECT name
FROM animal_ins
ORDER BY datetime
LIMIT 1

역순 정렬하기

https://school.programmers.co.kr/learn/courses/30/lessons/59035

이름, 보호 시작일의 컬럼만 불러옵니다.

SELECT NAME,DATETIME
FROM ANIMAL_INS

ORDER BY 로 animal_id 기준으로 역순, 내림차순으로 정렬해주면 정답입니다.

ORDER BY ANIMAL_ID DESC

정답

SELECT NAME,DATETIME
FROM ANIMAL_INS
ORDER BY ANIMAL_ID DESC

여러기준으로 정렬하기

https://school.programmers.co.kr/learn/courses/30/lessons/59404

지정된 컬럼들을 조회 불러옵니다.

SELECT animal_id,name,datetime
FROM animal_ins

여기서 이름 기준으로, 오름차순 날짜 기준으로 내림차순을 해주면 정답입니다.

ORDER BY name, datetime DESC

정답

SELECT animal_id,name,datetime
FROM animal_ins
ORDER BY name, datetime DESC

12세 이하인 여자 환자 목록 출력하기

https://school.programmers.co.kr/learn/courses/30/lessons/132201

SELECT *
FROM PATIENT

WHERE절에서 12세 이하인, 여자를 불러옵니다.

WHERE GEND_CD = 'W' AND AGE <= 12

이제 전화번호가 없는 경우 'NONE'로 변경 해줘야하는데, ifnull를 통해
SELECT 에서 변경해주고, 지정해준 컬럼을 가져옵니다.

SELECT PT_NAME,PT_NO,GEND_CD,AGE, IFNULL(TLNO,"NONE")

이제, 나이기준으로 정렬해주고, 나이가 같으면 환자이름 기준으로 오름차순 정렬해줍니다.

ORDER BY AGE DESC , PT_NAME

정답

SELECT PT_NAME,PT_NO,GEND_CD,AGE, IFNULL(TLNO,"NONE")
FROM PATIENT
WHERE GEND_CD = 'W' AND AGE <= 12
ORDER BY AGE DESC , PT_NAME

0개의 댓글