SQL/SQL문제풀이

Programmers SQL 문제 풀이 1 ~ 10

Happy._. 2024. 4. 12. 00:23

이름이 있는 동물의 아이디

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

-- FROM 동물의 정보를 담은 테이블에서
-- WHERE 이름이 있는(NULL이 아닌)
-- SELECT 동물의 ID를 검색하여
-- ORDER BY ID순으로 오름차순 정렬
SELECT animal_id
FROM animal_ins
WHERE name IS NOT NULL
ORDER BY animal_id

 

역순 정렬하기

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

-- FROM 동물의 정보를 담은 테이블에서
-- SELECT 이름과 보호 시작일 조회하여
-- ORDER BY ID를 역순(내림차순)으로
SELECT name, datetime
FROM animal_ins
ORDER BY animal_id DESC

 

중복 제거하기

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

-- FROM 동물의 정보를 담은 테이블에서
-- SELECT 동물의 이름의 개수를 조회(NULL 제외, 중복 제외)
SELECT count(DISTINCT name)
FROM animal_ins

-- SELECT DISTINCT count(name)으로 조회해서 틀렸었음

 

동물의 아이디와 이름

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

-- FROM 동물의 정보를 담은 테이블에서
-- SELECT 모든 동물의 아이디와 이름을
-- ORDER BY ID순으로 조회
SELECT animal_id, name
FROM animal_ins
ORDER BY animal_id

 

동물의 수 구하기

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

-- FROM 동물의 정보를 담은 테이블에서
-- SELECT 보호소에 들어온 동물의 수를 조회
SELECT count(animal_id)
FROM animal_ins

 

동명 동물 수 찾기

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

-- FROM 동물의 정보를 담은 테이블에서
-- GROUP BY 동물의 이름을 기준으로 그룹화하여
-- HAVING 두 번 이상 쓰인
-- SELECT 이름과 해당 이름이 쓰인 횟수를 조회하여
-- ORDER BY 이름순으로 정렬
SELECT name, count(name)
FROM animal_ins
GROUP BY name
HAVING count(name) > 1
ORDER BY name

 

아픈 동물 찾기

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

-- FROM 동물의 정보를 담은 테이블에서
-- WHERE 아픈 동물의(INTAKE_CONDITION이 Sick인)
-- SELECT 아이디와 이름을
-- ORDER BY 아이디 순으로 조회
SELECT animal_id, name
FROM animal_ins
WHERE intake_condition = 'Sick'
ORDER BY animal_id

 

상위 n개 레코드

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

-- FROM 동물의 정보를 담은 테이블에서
-- SELECT 이름을 조회한다.
-- ORDER BY 동물 보호소에 가장 먼저 들어온 동물의
--          (보호 시작일을 오름차순 정렬하여 그 중 맨 윗 레코드)
SELECT name
FROM animal_ins
ORDER BY datetime limit 1

 

최솟값 구하기

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

-- FROM 동물의 정보를 담은 테이블에서
-- SELECT 보호 시작일을 조회한다.
-- ORDER BY 보호소에 가장 먼저 들어온 동물의
SELECT datetime
FROM animal_ins
ORDER BY datetime limit 1

 

어린 동물 찾기

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

-- FROM 동물의 정보를 담은 테이블에서
-- WHERE 젊은 동물의(INTAKE_CONDITION이 Aged)
-- SELECT 아이디와 이름을 조회
-- ORDER BY 아이디순으로
SELECT animal_id, name
FROM animal_ins
WHERE NOT intake_condition = 'Aged'
ORDER BY animal_id