이름이 없는 동물의 아이디
https://school.programmers.co.kr/learn/courses/30/lessons/59039
-- FROM 동물의 정보를 담은 테이블에서
-- WHERE 이름이 없는 동물의
-- SELECT ID를 조회
SELECT animal_id
FROM animal_ins
WHERE name IS NULL
조건에 맞는 회원수 구하기
https://school.programmers.co.kr/learn/courses/30/lessons/131535
-- FROM 회원정보를 담은 테이블에서
-- WHERE 1. 2021년에 가입한 회원, 2. 나이가 20세 이상 29세 이하
-- 회원의 수를 조회
SELECT count(user_id)
FROM user_info
WHERE
joined BETWEEN '2021-01-01' AND '2021-12-31'
AND
age BETWEEN 20 AND 29
중성화 여부 파악하기
https://school.programmers.co.kr/learn/courses/30/lessons/59409
-- FROM 동물의 정보를 담은 테이블에서
-- WHERE 중성화가 되어 있다면 'O', 아니라면 'X' 표시로 변경
-- SELECT 동물의 아이디, 이름, 중성화 여부를 조회
-- ORDER BY 아이디 순으로
SELECT animal_id, name,
CASE
WHEN sex_upon_intake = 'Neutered Male' then 'O'
WHEN sex_upon_intake = 'Spayed Female' then 'O'
ELSE 'X'
END
FROM animal_ins
ORDER BY animal_id
카테고리 별 상품 개수 구하기
https://school.programmers.co.kr/learn/courses/30/lessons/131529
-- FROM 상품들의 정보를 담은 테이블에서
-- GROUP BY 카테코리 코드 앞 2자리 별 -> subquery로 미리 앞 2자리 필터
-- SELECT 상품의 개수 조회
-- ORDER BY 상품 카테코리 기준으로 오름차순
SELECT t.product_code, count(t.product_code)
FROM (
SELECT SUBSTRING(product_code, 1, 2) AS product_code
FROM product
) t
GROUP BY t.product_code
ORDER BY t.product_code
고양이와 개는 몇 마리 있을까
https://school.programmers.co.kr/learn/courses/30/lessons/59040
-- FROM 동물의 정보를 담은 테이블에서
-- GROUP BY 동물 별로 분류하여
-- SELECT 고양이와 개가 각각 몇 마리인지 조회
-- ORDER BY 고양이를 개보다 먼저
SELECT animal_type, count(animal_type)
FROM animal_ins
GROUP BY animal_type
HAVING animal_type IN ('Cat', 'Dog')
ORDER BY animal_type
입양 시각 구하기(1)
https://school.programmers.co.kr/learn/courses/30/lessons/59412
-- FROM 동물의 정보를 담은 테이블에서
-- GROUP 시간대 별로 분류하여 -> subquery로 입양일에서 시(hour)만 가져오기
-- HAVING 분류한 시간대에서 9 ~ 19시만 필터링
-- SELECT 시간대와 입양 건수를 조회
-- ORDER BY 시간대 순으로 정렬
SELECT hour, count(hour)
FROM (
SELECT DATE_FORMAT(datetime, '%H') AS hour
FROM animal_outs
) t
GROUP BY hour
HAVING hour BETWEEN '09' AND '19'
ORDER BY hour
-- %h : 01 ~ 12 시
-- %H : 01 ~ 24 시
진료과별 총 예약 횟수 출력하기
https://school.programmers.co.kr/learn/courses/30/lessons/132202
-- FROM 진료 에약정보 테이블에서
-- WHERE 2022년 5월에 예약 환자들의
-- SELECT 진료과 코드와 수를 컬럼명을 '진료과 코드', '5월예약건수'로 지정하여 조회
-- ORDER BY 1. 환자 수, 2. 진료과 코드 기준 오름차순 정렬
SELECT mcdp_cd AS '진료과 코드', count(pt_no) AS '5월예약건수'
FROM appointment
WHERE apnt_ymd BETWEEN '2022-05-01' AND '2022-05-31'
GROUP BY mcdp_cd
ORDER BY 2, 1
12세 이하인 여자 환자 목록 출력하기
https://school.programmers.co.kr/learn/courses/30/lessons/132201
-- FROM 환자 정보 테이블에서
-- WHERE 12세 이하인 여자환자의
-- SELECT 환자이름, 환자번호, 성별코드, 나이, 전화번호를 조회(번호가 없으면 'NONE')
-- ORDER BY 1. 나이를 기준으로 내림차순, 2. 환자이름을 기준으로 오름차순 정렬
SELECT pt_name, pt_no, gend_cd, age, IFNULL(tlno, 'NONE')
FROM patient
WHERE age < 13 AND gend_cd = 'W'
ORDER BY age DESC, pt_name
인기있는 아이스크림
https://school.programmers.co.kr/learn/courses/30/lessons/133024
-- FROM 주문 정보를 담은 테이블에서
-- SELECT 아이스크림 맛을 조회
-- ORDER BY 1. 총주문량 기준 내림차순, 2. 출하 번호 기준 오름차순
SELECT flavor
FROM first_half
ORDER BY total_order DESC, shipment_id
자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기
https://school.programmers.co.kr/learn/courses/30/lessons/151137
-- FROM 대여중인 자동차들의 정보를 담은 테이블에서
-- WHERE '통풍시트', '열선시트', '가죽시트' 중 하나 이상의 옵션이 포함된
-- GROUP BY 자동차 종류 별
-- SELECT 차량 수를 'CARS'로 지정하여 조회
-- ORDER BY 자동차 종류를 기준으로 오름차순
SELECT car_type, count(car_type) AS 'CARS'
FROM car_rental_company_car
WHERE
options LIKE '%통풍시트%' OR
options LIKE '%열선시트%' OR
options LIKE '%가죽시트%'
GROUP BY car_type
ORDER BY car_type
'SQL > SQL문제풀이' 카테고리의 다른 글
Programmers SQL 문제 풀이 51 ~ 60 (0) | 2024.04.25 |
---|---|
Programmers SQL 문제 풀이 41 ~ 50 (0) | 2024.04.16 |
Programmers SQL 문제 풀이 31 ~ 40 (0) | 2024.04.14 |
Programmers SQL 문제 풀이 11 ~ 20 (2) | 2024.04.12 |
Programmers SQL 문제 풀이 1 ~ 10 (0) | 2024.04.12 |