본문 바로가기
728x90
DAY 16. 문제 61~65 (Lv.4) 61. 서울에 위치한 식당 목록 출력하기문제 REST_INFO와 REST_REVIEW 테이블에서 서울에 위치한 식당들의 식당 ID, 식당 이름, 음식 종류, 즐겨찾기수, 주소, 리뷰 평균 점수를 조회하는 SQL문을 작성해주세요. 이때 리뷰 평균점수는 소수점 세 번째 자리에서 반올림 해주시고 결과는 평균점수를 기준으로 내림차순 정렬해주시고, 평균점수가 같다면 즐겨찾기수를 기준으로 내림차순 정렬 select i.rest_id, i.rest_name, i.food_type, i.favorites, i.address, round(avg(r.review_score), 2) as scorefrom rest_info i join rest_review r on i... 2025. 6. 8.
SQL 69-70. 69. 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 대여 시작일을 기준으로 2022년 8월부터 2022년 10월까지 총 대여 횟수가 5회 이상인 자동차들에 대해서 해당 기간 동안의 월별 자동차 ID 별 총 대여 횟수(컬럼명: RECORDS) 리스트를 출력하는 SQL문을 작성해주세요. 결과는 월을 기준으로 오름차순 정렬하고, 월이 같다면 자동차 ID를 기준으로 내림차순 정렬해주세요. 특정 월의 총 대여 횟수가 0인 경우에는 결과에서 제외 select month(start_date) as month, car_id, count(*) as recordsfrom car_rental_company_rental_his.. 2025. 6. 5.
SQL 66-68. 66. 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회 USED_GOODS_BOARD와 USED_GOODS_FILE 테이블에서 조회수가 가장 높은 중고거래 게시물에 대한 첨부파일 경로를 조회하는 SQL문을 작성해주세요. 첨부파일 경로는 FILE ID를 기준으로 내림차순 정렬해주세요. 기본적인 파일경로는 /home/grep/src/ 이며, 게시글 ID를 기준으로 디렉토리가 구분되고, 파일이름은 파일 ID, 파일 이름, 파일 확장자로 구성되도록 출력해주세요. 조회수가 가장 높은 게시물은 하나만 존재 select concat("/home/grep/src/", b.board_id, "/", f.file_id, f.file_name, f.file_ext) as file_pathfrom used_goods_bo.. 2025. 6. 4.
SQL 61-65. 61. 서울에 위치한 식당 목록 출력하기문제 REST_INFO와 REST_REVIEW 테이블에서 서울에 위치한 식당들의 식당 ID, 식당 이름, 음식 종류, 즐겨찾기수, 주소, 리뷰 평균 점수를 조회하는 SQL문을 작성해주세요. 이때 리뷰 평균점수는 소수점 세 번째 자리에서 반올림 해주시고 결과는 평균점수를 기준으로 내림차순 정렬해주시고, 평균점수가 같다면 즐겨찾기수를 기준으로 내림차순 정렬 select i.rest_id, i.rest_name, i.food_type, i.favorites, i.address, round(avg(r.review_score), 2) as scorefrom rest_info i join rest_review r on i... 2025. 6. 2.
DAY 14. 문제 31~50 (Lv.3) 32. 카테고리 별 도서 판매량 집계하기문제 2022년 1월의 카테고리 별 도서 판매량을 합산하고, 카테고리(CATEGORY), 총 판매량(TOTAL_SALES) 리스트를 출력하는 SQL문을 작성. 결과는 카테고리명을 기준으로 오름차순 정렬select b.category, sum(s.sales) as total_salesfrom book b left join book_sales s on b.book_id = s.book_idwhere year(sales_date) = 2022 and month(sales_date) = 01group by 1order by 11) 문제를 잘 읽자판매일(sales_date) 컬럼으로 where조건 넣어야 하는데 책 출간일(published_date)로 계속 추출.. 2025. 5. 31.
DAY 13. 문제 11~30 (Lv.2) 20. 가격이 제일 비싼 식품의 정보 출력하기문제 동물 보호소에 들어온 동물의 이름은 몇 개인지 조회하는 SQL문을 작성. 이때 이름이 NULL인 경우는 집계하지 않으며 중복되는 이름은 하나로 친다 풀이1: order by - limit select product_id,product_name,product_cd, category,pricefrom food_productorder by price desclimit 1 풀이2: where subqueryselect product_id,product_name, product_cd, category, pricefrom food_productwhere price = (select max(price) as max_pricefrom food_product ) 풀이3.. 2025. 5. 31.
SQL 46-50. 46. 대여 기록이 존재하는 자동차 리스트 구하기 CAR_RENTAL_COMPANY_CAR 테이블과 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 자동차 종류가 '세단'인 자동차들 중 10월에 대여를 시작한 기록이 있는 자동차 ID 리스트를 출력하는 SQL문을 작성해주세요. 자동차 ID 리스트는 중복이 없어야 하며, 자동차 ID를 기준으로 내림차순 정렬 46-1. inner join, distinctselect distinct c.car_idfrom car_rental_company_car c join car_rental_company_rental_history h on c.car_id = h.car_idwhere c.car_type = '세단' and month(h.start_.. 2025. 5. 30.
SQL 26-30. 26. 입양 시각 구하기 보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 09:00부터 19:59까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬1. hourselect hour(datetime) as hour, count(*)from animal_outswhere hour(datetime) between 09 and 19group by hour(datetime)order by hour(datetime) 2. date_formatselect date_format(datetime, '%H') as hour, count(*)from animal_outswhere date_format(datetime.. 2025. 5. 27.
DAY 4. 1. 동명 동물 수 찾기문제 동물 보호소에 들어온 동물 이름 중 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회하는 SQL문을 작성해주세요. 이때 결과는 이름이 없는 동물은 집계에서 제외하며, 결과는 이름 순으로 조회 select distinct name, count(name) as countfrom animal_inswhere name is not nullgroup by namehaving count > 1order by name 오답노트count(name)을 하고 나서 group by name을 해야 이름별 개수가 뜸 안 그럼 name 컬럼의 첫 행 값만 뜸 = 이유) count(*)는 집계함수인데, 그룹화되지 않은 일반 컬럼과 쓰이면 첫 행만 나옴select > from > wh.. 2025. 5. 16.
DAY 3. SQL LV1.1. 조건에 부합하는 중고거래 댓글 조회하기문제 USED_GOODS_BOARD와 USED_GOODS_REPLY 테이블에서 2022년 10월에 작성된 게시글 제목, 게시글 ID, 댓글 ID, 댓글 작성자 ID, 댓글 내용, 댓글 작성일을 조회하는 SQL문을 작성. 결과는 댓글 작성일을 기준으로 오름차순 정렬해주시고, 댓글 작성일이 같다면 게시글 제목을 기준으로 오름차순 정렬 CREATED_DATE의 포맷이 예시의 포맷(YYYY-MM-DD)과 일치해야 정답처리 됩니다. select b.title, b.board_id, r.reply_id, r.writer_id, r.contents, date_format(r.created_date, '%Y.. 2025. 5. 15.
★SQL 내용정리 ■ SQL과 데이터 조회1. MySQL 구문# 한 줄 주석-- 한 줄 주석/* 두 줄 이상 주석 처리 */ 2. USE & SHOW데이터베이스 내 테이블을 보여주는 명령어USE 데이터베이스명SHOW Tables; 3. SELECT데이터베이스 내 테이블을 보여주는 명령어-- 1. 전체select * from payment;-- 2.특정 컬럼과 별칭select payment_date as date, last_update as updatefrom payment;-- 3. 중복값 제거 DISTINCTselect distinct last_name from actor; ■ WHERE 조건 검색1. 비교연산자문자나 날짜는 '(따옴표)' 써서 비교연산자설명.. 2025. 5. 14.
728x90