전체 글 233

2024-03-21

1. 오늘 배운 것 날짜 추출 예시) 2022년 9월 데이터값 ① BETWEEN '2022-09-01' AND '2022-09-30' ② LIKE '2022-09%' ① 의 경우 30일과 31일을 잘못 작성할 경우 조회가 되지 않더라.. ② 의 경우 9월 이후의 값을 불러주기 때문에 훨씬 간편! 날짜 차이 구하기 MySQL 에서는 날짜 차이를 구하기 위해 DATEDIFF, TIMESTAMPDIFF 함수를 사용 간단하게 day 의 차이를 구할 때에는 DATEDIFF 함수를 사용 DATEDIFF(날짜1,날짜2) 날짜1 - 날짜2 TIMESTAMPDIFF(단위, 날짜1, 날짜2) SECOND: 초 MINUTE: 분 HOUR: 시 DAY: 일 WEEK: 주 MONTH: 월 QUARTER: 분기 YEAR: 연 2..

TIL 2024.03.21

자동차 대여 기록에서 장기/단기 대여 구분하기

CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 대여 시작일이 2022년 9월에 속하는 대여 기록에 대해서 대여 기간이 30일 이상이면 '장기 대여' 그렇지 않으면 '단기 대여' 로 표시하는 컬럼(컬럼명: RENT_TYPE)을 추가하여 대여기록을 출력하는 SQL문을 작성해주세요. 결과는 대여 기록 ID를 기준으로 내림차순 정렬해주세요. SELECT history_id , car_id , SUBSTR(start_date, 1, 10) start_date , SUBSTR(end_date, 1, 10) end_date , CASE WHEN CAST((end_date) AS decimal) - CAST((start_date) AS decimal) >= 30 THEN '장기대여' ELSE ..

SQL 코드카타 2024.03.21

조건에 맞는 도서 리스트 출력하기

BOOK 테이블에서 2021년에 출판된 '인문' 카테고리에 속하는 도서 리스트를 찾아서 도서 ID(BOOK_ID), 출판일 (PUBLISHED_DATE)을 출력하는 SQL문을 작성해주세요. 결과는 출판일을 기준으로 오름차순 정렬해주세요. SELECT book_id , DATE_FORMAT(published_date, '%Y-%m-%d') PUBLISHED_DATE FROM book WHERE published_date BETWEEN '2021-01-01' AND '2021-12-31' AND category = '인문' ORDER BY published_date + 어제 코드카타 하면서 공부했던 DATE_FORMAT 함수를 사용해보았다 Q. DATE_FORMAT 의 사용법은 어떻게 될까? A. %Y 20..

SQL 코드카타 2024.03.20

2024-03-20

1. 오늘 배운 것 Subquery 연산이 여러번 필요할 경우, 연산결과를 반복해서 적어줘야 할 경우에 사용할수 있는 구문 음식 주문시간이 25분보다 초과한 시간을 가져오기 select order_id, restaurant_name, if(over_time>=0, over_time, 0) over_time -- 25분-25분=0분으로 25분초과 이기 때문에 >= from ( select order_id, restaurant_name, food_preparation_time-25 over_time -- 25분 초과 이기 때문에 -25 from food_orders ) a + 주문 시간이 25분보다 초과 이기 때문에 주문시간 컬럼에서 25분을 빼준다 서브쿼리내로만 할 경우 초과되지 않는 주문건들은 - 값을 ..

TIL 2024.03.20

[SQL] LEFT JOIN 과 INNER JOIN 차이

식당별 평균 음식 주문 금액과 주문자의 평균 연령을 기반으로 Segmentation 하기- 평균 음식 주문 금액 기준 : 5,000 / 10,000 / 30,000 / 30,000 초과- 평균 연령 : ~ 20대 / 30대 / 40대 / 50대 이상 -- 내가 작성한 쿼리문SELECT restaurant_name , CASE WHEN AVG(A_price) 5000 AND AVG(A_price) 10000 AND AVG(A_price) 30000 THEN 'price_group4' END "평균음식주문금액" , CASE WHEN AVG(A_age) -- 학습자료의 쿼리문select restaurant_name, case whe..

개인공부 2024.03.20

특정 옵션이 포함된 자동차 리스트 구하기

CAR_RENTAL_COMPANY_CAR 테이블에서 '네비게이션' 옵션이 포함된 자동차 리스트를 출력하는 SQL문을 작성해주세요. 결과는 자동차 ID를 기준으로 내림차순 정렬해주세요. SELECT * FROM CAR_RENTAL_COMPANY_CAR WHERE options LIKE '%네비게이션%' -- = 과 LIKE 가 매번 헷갈림.. = 은 완전히 일치할때, LIKE 는 저런 단어가 있을때 출력? ORDER BY car_id DESC 단어를 찾을때 = 과 LIKE 구문이 매번 헷갈림 = : 완전히 일치하는 단어 LIKE : 부분적으로 일치하는 단어 다른 풀이 방식 WHERE INSTR(options, '네비게이션') > 0

SQL 코드카타 2024.03.19

조건에 부합하는 중고거래 댓글 조회하기

USED_GOODS_BOARD와 USED_GOODS_REPLY 테이블에서 2022년 10월에 작성된 게시글 제목, 게시글 ID, 댓글 ID, 댓글 작성자 ID, 댓글 내용, 댓글 작성일을 조회하는 SQL문을 작성해주세요. 결과는 댓글 작성일을 기준으로 오름차순 정렬해주시고, 댓글 작성일이 같다면 게시글 제목을 기준으로 오름차순 정렬해주세요. SELECT title , ub.board_id , ur.reply_id , ur.writer_id , ur.contents , ub.created_date FROM used_goods_board ub INNER JOIN used_goods_reply ur ON ub.writer_id = ur.writer_id WHERE ub.created_date BETWEEN '..

SQL 코드카타 2024.03.19