1. 강원도에 위치한 생산공장 목록 출력하기
- 특정 문자열이 들어갔는지 아닌지 조건 걸기 -> WHERE ~ LIKE ~ 활용
SELECT FACTORY_ID, FACTORY_NAME, ADDRESS
FROM FOOD_FACTORY
WHERE ADDRESS LIKE '%강원도%'
ORDER BY FACTORY_ID;
2. 서울에 위치한 식당 목록 출력하기
- 특정 그룹별로 평균 점수 출력하기 -> AVG(컬럼명) OVER (PARTITION BY 그룹지을 기준 컬럼명)
-- 1.PARTITION BY 과 DISTINCT 활용하는 방법
SELECT DISTINCT REST_ID, AVG(REVIEW_SCORE) OVER (PARTITION BY REST_ID) AS AVG_SCORE
FROM REST_REVIEW
ORDER BY REST_ID;
-- 2.GROUP BY 활용하는 방법
SELECT REST_ID, AVG(REVIEW_SCORE) AS AVG_SCORE
FROM REST_REVIEW
GROUP BY REST_ID
ORDER BY REST_ID;
SELECT REST_ID, REST_NAME, FOOD_TYPE, FAVORITES, ADDRESS, SCORE
FROM REST_INFO a
JOIN
(SELECT REST_ID, ROUND(AVG(REVIEW_SCORE),2) AS SCORE
FROM REST_REVIEW
GROUP BY REST_ID ORDER BY REST_ID) b USING (REST_ID)
WHERE ADDRESS LIKE '서울%'
ORDER BY SCORE DESC, FAVORITES DESC;
3. 조건에 부합하는 중고거래 댓글 조회하기
SELECT a.TITLE, a.BOARD_ID, b.REPLY_ID, b.WRITER_ID, b.CONTENTS, DATE_FORMAT(b.CREATED_DATE,'%Y-%m-%d') AS CREATED_DATE
FROM USED_GOODS_BOARD a INNER JOIN USED_GOODS_REPLY b USING(BOARD_ID)
WHERE a.CREATED_DATE >= '2022-10-01' AND a.CREATED_DATE <'2022-11-01'
ORDER BY b.CREATED_DATE, a.TITLE;
4. 재구매가 일어난 상품과 회원 리스트 구하기
SELECT a.USER_ID, a.PRODUCT_ID
FROM (
SELECT *, COUNT(*) AS CNT
FROM ONLINE_SALE
GROUP BY USER_ID, PRODUCT_ID
ORDER BY USER_ID, PRODUCT_ID DESC) a
WHERE a.CNT >1;
5. 모든 레코드 조회하기
SELECT * FROM ANIMAL_INS ORDER BY ANIMAL_ID;
6. 역순 정렬하기
SELECT NAME, DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DESC;
7. 아픈 동물 찾기
SELECT ANIMAL_ID, NAME FROM ANIMAL_INS
WHERE INTAKE_CONDITION = 'Sick'
ORDER BY ANIMAL_ID;
8. 어린 동물 찾기
SELECT ANIMAL_ID, NAME FROM ANIMAL_INS
WHERE INTAKE_CONDITION <> 'Aged'
ORDER BY ANIMAL_ID;
9. 동물의 아이디와 이름
SELECT ANIMAL_ID, NAME FROM ANIMAL_INS
ORDER BY ANIMAL_ID;'SQL' 카테고리의 다른 글
| 프로그래머스 SQL 고득점 Kit - IS NULL [1] (0) | 2026.02.08 |
|---|---|
| 프로그래머스 SQL 고득점 Kit - SELECT[3] (0) | 2026.02.08 |
| 프로그래머스 SQL 고득점 Kit - SELECT[2] (0) | 2026.02.05 |