코드카타
과일로 만든 아이스크림 고르기
SELECT F.FLAVOR
FROM FIRST_HALF F
JOIN ICECREAM_INFO I
ON F.FLAVOR = I.FLAVOR
WHERE F.TOTAL_ORDER >= 3000
AND I.INGREDIENT_TYPE LIKE 'fruit_based'
ORDER BY F.TOTAL_ORDER DESC
;
조건에 맞는 사용자 정보 조회하기
SELECT U.USER_ID, U.NICKNAME,
CONCAT_WS(' ', CITY, STREET_ADDRESS1, STREET_ADDRESS2) AS 전체주소,
CONCAT(SUBSTRING(TLNO,1,3), '-', SUBSTRING(TLNO,4,4), '-', SUBSTRING(TLNO,8,4)) AS 전화번호
FROM USED_GOODS_USER U
JOIN USED_GOODS_BOARD B
ON B.WRITER_ID = U.USER_ID
GROUP BY U.USER_ID
HAVING COUNT(B.BOARD_ID) >= 3
ORDER BY U.USER_ID DESC
;
CONCAT(필드명, 필드명2....): 문자열을 합칠 때 사용
SELECT절에서 필드명 + 필드명으로도 합칠 수 있다.
CONCAT_WS(' ' , 필드명, 필드명2....): 공백을 넣고 문자열을 합칠 때 사용
SUBSTRING(필드명, 시작위치, 자를길이): 문자열을 잘라서 사용
WITH CNT_REVIEW AS(
SELECT WRITER_ID
,COUNT(WRITER_ID) CNT
FROM USED_GOODS_BOARD
GROUP BY WRITER_ID
HAVING CNT>= 3 )
SELECT USER_ID
,NICKNAME
,CONCAT_WS(' ',CITY,STREET_ADDRESS1, STREET_ADDRESS2) AS 전체주소
,CONCAT(SUBSTRING(TLNO, 1, 3), '-',
SUBSTRING(TLNO, 4, 4), '-',
SUBSTRING(TLNO, 8, 4)) AS 전화번호
FROM USED_GOODS_USER
WHERE USER_ID IN (SELECT WRITER_ID FROM CNT_REVIEW)
ORDER BY USER_ID DESC
특정 옵션이 포함된 자동차 리스트 구하기
SELECT *
FROM CAR_RENTAL_COMPANY_CAR
WHERE OPTIONS LIKE '%네비게이션%'
ORDER BY CAR_ID DESC
;
조건에 부합하는 중고거래 상태 조회하기
SELECT BOARD_ID, WRITER_ID, TITLE, PRICE,
CASE WHEN STATUS LIKE 'SALE' THEN '판매중'
WHEN STATUS LIKE 'RESERVED' THEN '예약중'
WHEN STATUS LIKE 'DONE' THEN '거래완료'
END AS STATUS
FROM USED_GOODS_BOARD
WHERE YEAR(CREATED_DATE) = 2022
AND MONTH(CREATED_DATE) = 10
AND DAY(CREATED_DATE) = 5
ORDER BY BOARD_ID DESC
;
과제 진행 사항