https://school.programmers.co.kr/learn/courses/30/lessons/133025
과일로 만든 아이스크림 고르기
- 총주문량이 3,000보다 높으면서 아이스크림의 주 성분이 과일인 아이스크림의 맛을 총주문량이 큰 순서대로 조회
SELECT FLAVOR
FROM FIRST_HALF H JOIN ICECREAM_INFO I
USING(FLAVOR)
WHERE TOTAL_ORDER > 3000
AND INGREDIENT_TYPE = 'FRUIT_BASED'
ORDER BY TOTAL_ORDER DESC
https://school.programmers.co.kr/learn/courses/30/lessons/59415
최댓값 구하기
- 가장 최근에 들어온 동물은 언제 들어왔는지 조회
SELECT DATETIME AS '시간'
FROM ANIMAL_INS
ORDER BY DATETIME DESC
LIMIT 1
https://school.programmers.co.kr/learn/courses/30/lessons/164670
조건에 맞는 사용자 정보 조회하기
- 중고 거래 게시물을 3건 이상 등록한 사용자의 사용자 ID, 닉네임, 전체주소, 전화번호를 조회
- 전체 주소는 시, 도로명 주소, 상세 주소가 함께 출력
- 전화번호의 경우 xxx-xxxx-xxxx 같은 형태로 하이픈 문자열(-)을 삽입하여 출력
- 회원 ID를 기준으로 내림차순 정렬
SELECT USER_ID, NICKNAME,
CONCAT(CITY, ' ', STREET_ADDRESS1, ' ', STREET_ADDRESS2) AS '전체주소',
CONCAT(LEFT(TLNO,3), '-', SUBSTRING(TLNO, 4, 4), '-', RIGHT(TLNO, 4)) AS '전화번호'
FROM USED_GOODS_BOARD B JOIN USED_GOODS_USER U
ON B.WRITER_ID = U.USER_ID
GROUP BY USER_ID
HAVING COUNT(*) >= 3
ORDER BY USER_ID DESC
https://school.programmers.co.kr/learn/courses/30/lessons/157343
특정 옵션이 포함된 자동차 리스트 구하기
- '네비게이션' 옵션이 포함된 자동차 리스트를 출력
- 자동차 ID를 기준으로 내림차순 정렬
SELECT *
FROM CAR_RENTAL_COMPANY_CAR
WHERE OPTIONS LIKE '%네비게이션%'
ORDER BY CAR_ID DESC
https://school.programmers.co.kr/learn/courses/30/lessons/164672
조건에 부합하는 중고거래 상태 조회하기
- 2022년 10월 5일에 등록된 중고거래 게시물의 게시글 ID, 작성자 ID, 게시글 제목, 가격, 거래상태를 조회
- 거래상태가 SALE 이면 판매중, RESERVED이면 예약중, DONE이면 거래완료 분류하여 출력
- 게시글 ID를 기준으로 내림차순 정렬
SELECT BOARD_ID, WRITER_ID, TITLE, PRICE,
CASE WHEN STATUS = 'SALE' THEN '판매중'
WHEN STATUS = 'RESERVED' THEN '예약중'
ELSE '거래완료'
END
FROM USED_GOODS_BOARD
WHERE CREATED_DATE = '2022-10-05'
ORDER BY BOARD_ID DESC
https://school.programmers.co.kr/learn/courses/30/lessons/131118
서울에 위치한 식당 목록 출력하기
- 서울에 위치한 식당들의 식당 ID, 식당 이름, 음식 종류, 즐겨찾기수, 주소, 리뷰 평균 점수를 조회
- 리뷰 평균점수는 소수점 세 번째 자리에서 반올림
- 평균점수를 기준으로 내림차순 정렬, 평균점수가 같다면 즐겨찾기수를 기준으로 내림차순 정렬
SELECT REST_ID, REST_NAME, FOOD_TYPE, FAVORITES, ADDRESS, ROUND(AVG(REVIEW_SCORE),2) AS AVERAGE
FROM REST_REVIEW R JOIN REST_INFO I
USING (REST_ID)
WHERE ADDRESS LIKE '서울%'
GROUP BY REST_ID
ORDER BY AVERAGE DESC, FAVORITES DESC
https://school.programmers.co.kr/learn/courses/30/lessons/131532
년, 월, 성별 별 상품 구매 회원 수 구하기
- 년, 월, 성별 별로 상품을 구매한 회원수를 집계
- 년, 월, 성별을 기준으로 오름차순 정렬
- 성별 정보가 없는 경우 결과에서 제외
SELECT YEAR(SALES_DATE) AS Y, MONTH(SALES_DATE) AS M, GENDER, COUNT(DISTINCT(USER_ID))
FROM USER_INFO I JOIN ONLINE_SALE S
USING (USER_ID)
WHERE GENDER IS NOT NULL
GROUP BY Y, M, GENDER
ORDER BY Y, M, GENDER
* 한 사람이 여러 번 구매 한 경우를 걸러줘야 한다.
https://school.programmers.co.kr/learn/courses/30/lessons/132204
취소되지 않은 진료 예약 조회하기
- 2022년 4월 13일 취소되지 않은 흉부외과(CS) 진료 예약 내역을 조회
- 진료예약번호, 환자이름, 환자번호, 진료과코드, 의사이름, 진료예약일시 항목이 출력
- 진료예약일시를 기준으로 오름차순 정렬
SELECT A.APNT_NO, P.PT_NAME, P.PT_NO, A.MCDP_CD, D.DR_NAME, A.APNT_YMD
FROM PATIENT P JOIN APPOINTMENT A USING (PT_NO)
JOIN DOCTOR D ON D.DR_ID = A.MDDR_ID
WHERE A.APNT_YMD LIKE '2022-04-13%'
AND A.MCDP_CD = 'CS'
AND A.APNT_CNCL_YN = 'N'
ORDER BY A.APNT_YMD
'SQL' 카테고리의 다른 글
[SQL] PROGRAMMERS SQL - 11 (0) | 2023.08.03 |
---|---|
[SQL] PROGRAMMERS SQL - 10 (0) | 2023.08.02 |
[SQL] PROGRAMMERS SQL - 8 (0) | 2023.07.31 |
[SQL] PROGRAMMERS SQL - 7 (0) | 2023.07.30 |
[SQL] PROGRAMMERS SQL - 6 (0) | 2023.07.29 |