반응형

🗓️ 문제 설명

  • CAR_RENTAL_COMPANY_CAR 테이블은 대여 중인 자동차들의 정보를 담고 있습니다.
  • CAR_ID, CAR_TYPE, DAILY_FEE, OPTIONS는 각각 자동차 ID, 자동차 종류, 일일 대여 요금(원), 자동차 옵션 리스트를 나타냅니다.
  • 자동차 종류는 '세단', 'SUV', '승합차', '트럭', '리무진'이 있습니다.
  • 자동차 옵션 리스트는 콤마(',')로 구분된 키워드 리스트로 되어있으며, 키워드 종류는 '주차감지센서', '스마트키', '네비게이션', '통풍시트', '열선시트', '후방카메라', '가죽시트'가 있습니다.
Column name Type Nullable
CAR_ID INTEGER FALSE
CAR_TYPE VARCHAR(255) FALSE
DAILY_FEE INTEGER FALSE
OPTIONS VARCHAR(255) FALSE
  • CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블은 자동차 대여 기록 정보를 담고 있습니다.
  • HISTORY_ID, CAR_ID, START_DATE, END_DATE는 각각 자동차 대여 기록 ID, 자동차 ID, 대여 시작일, 대여 종료일을 나타냅니다.
Column name Type Nullable
HISTORY_ID INTEGER FALSE
CAR_ID INTEGER FALSE
START_DATE DATE FALSE
END_DATE DATE FALSE
  • CAR_RENTAL_COMPANY_DISCOUNT_PLAN 테이블은 자동차 종류 별 대여 기간 종류 별 할인 정책 정보를 담고 있습니다.
  • PLAN_ID, CAR_TYPE, DURATION_TYPE, DISCOUNT_RATE는 각각 요금 할인 정책 ID, 자동차 종류, 대여 기간 종류, 할인율(%)을 나타냅니다.
  • 할인율이 적용되는 대여 기간 종류로는 '7일 이상', '30일 이상', '90일 이상'이 있으며, 대여 기간이 7일 미만일 경우 할인 정책이 없습니다.
Column name Type Nullable
PLAN_ID INTEGER FALSE
CAR_TYPE VARCHAR(255) FALSE
DURATION_TYPE VARCHAR(255) FALSE
DISCOUNT_RATE INTEGER FALSE

 

문제

  • 자동차 종류가 '트럭'인 자동차의 대여 기록에 대해서 대여 기록 별로 대여 금액(컬럼명 : FEE)을 구하여 대여 기록 ID와 대여 금액 리스트를 출력하는 SQL문을 작성해주세요.
  • 결과는 대여 금액을 기준으로 내림차순 정렬하고, 대여 금액이 같은 경우 대여 기록 ID를 기준으로 내림차순 정렬해주세요.
  • 문제 예시

CAR_RENTAL_COMPANY_CAR

CAR_ID CAR_TYPE DAILY_FEE OPTIONS
1 트럭 26000 가죽시트, 열선시트, 후방카메라
2 SUV 14000 스마트키, 네비게이션, 열선시트
3 트럭 32000 주차감지센서, 후방카메라, 가죽시트

CAR_RENTAL_COMPANY_RENTAL_HISTORY

HISTORY_ID CAR_ID START_DATE END_DATE
1 1 2022-07-27 2022-08-02
2 1 2022-08-03 2022-08-04
3 2 2022-08-05 2022-08-05
4 2 2022-08-09 2022-08-12
5 3 2022-09-16 2022-10-15

CAR_RENTAL_COMPANY_DISCOUNT_PLAN

PLAN_ID CAR_TYPE DURATION_TYPE DISCOUNT_RATE
1 트럭 7일 이상 5%
2 트럭 30일 이상 7%
3 트럭 90일 이상 10%
4 세단 7일 이상 5%
5 세단 30일 이상 10%
6 세단 90일 이상 15%

 

  • 출력 예시
HISTORY_ID FEE
5 892800
1 172900
2 52000

 

💻 코드

최종 코드

  • 실행 결과

 

코드 풀이

 

반응형
반응형

🗓️ 문제 설명

  • ONLINE_SALE 테이블은 온라인 상품 판매 정보를 담고 있습니다.
  • ONLINE_SALE_ID, USER_ID, PRODUCT_ID, SALES_AMOUNT, SALES_DATE는 각각 온라인 상품 판매 ID, 회원 ID, 상품 ID, 판매량, 판매일을 나타냅니다.
  • 동일한 날짜, 회원 ID, 상품 ID 조합에 대해서는 하나의 판매 데이터만 존재합니다.
Column name Type Nullable
ONLINE_SALE_ID INTEGER FALSE
USER_ID INTEGER FALSE
PRODUCT_ID INTEGER FALSE
SALES_AMOUNT INTEGER FALSE
SALES_DATE DATE FALSE
  • OFFLINE_SALE 테이블은 오프라인 상품 판매 정보를 담고 있습니다.
  • OFFLINE_SALE_ID, PRODUCT_ID, SALES_AMOUNT, SALES_DATE는 각각 오프라인 상품 판매 ID, 상품 ID, 판매량, 판매일을 나타냅니다.
  • 동일한 날짜, 상품 ID 조합에 대해서는 하나의 판매 데이터만 존재합니다.
Column name Type Nullable
OFFLINE_SALE_ID INTEGER FALSE
PRODUCT_ID INTEGER FALSE
SALES_AMOUNT INTEGER FALSE
SALES_DATE DATE FALSE

 

문제

  • 2022년 3월의 오프라인/온라인 상품 판매 데이터의 판매 날짜, 상품 ID, 유저 ID, 판매량을 출력하는 SQL문을 작성해주세요.
  • OFFLINE_SALE 테이블의 판매 데이터의 USER_ID 값은 NULL로 표시해주세요.
  • 결과는 판매일을 기준으로 오름차순 정렬해주시고 판매일이 같다면 상품 ID를 기준으로 오름차순, 상품ID까지 같다면 유저 ID를 기준으로 오름차순 정렬해주세요.
  • 문제 예시

ONLINE_SALE

ONLINE_SALE_ID USER_ID PRODUCT_ID SALES_AMOUNT SALES_DATE
1 1 3 2 2022-02-25
2 4 4 1 2022-03-01
3 2 2 2 2022-03-02
4 6 3 3 2022-03-02
5 5 5 1 2022-03-03
6 5 7 1 2022-04-06

OFFLINE_SALE

OFFLINE_SALE_ID PRODUCT_ID SALES_AMOUNT SALES_DATE
1 1 2 2022-02-21
4 1 2 2022-03-01
3 3 3 2022-03-01
2 4 1 2022-03-01
5 2 1 2022-03-03
6 2 1 2022-04-01
  • 출력 예시
SALES_DATE PRODUCT_ID USER_ID SALES_AMOUNT
2022-03-01 1 NULL 2
2022-03-01 3 NULL 3
2022-03-01 4 NULL 1
2022-03-01 4 4 1
2022-03-02 2 2 2
2022-03-02 3 6 3
2022-03-03 2 NULL 1
2022-03-03 5 5 1

 

💻 코드

최종 코드

  • 실행 결과

 

코드 풀이

 

반응형
반응형

🗓️ 문제 설명

  • BOOK 테이블은 어느 한 서점에서 판매중인 도서들의 도서 정보를 담고 있습니다.
  • BOOK_ID, CATEGORY, AUTHOR_ID, PRICE, PUBLISHED_DATE는 각각 도서 ID, 카테고리(경제, 인문, 소설, 생활, 기술), 저자ID, 판매가(원), 출판일을 의미합니다.
Column name Type Nullable
BOOK_ID INTEGER FALSE
CATEGORY VARCHAR(N) FALSE
AUTHOR_ID INTEGER FALSE
PRICE INTEGER FALSE
PUBLISHED_DATE DATE FALSE
  • AUTHOR 테이블은 저자 정보를 담고 있습니다.
  • AUTHOR_ID, AUTHOR_NAME는 각각 저자 ID, 저자명을 의미합니다.
Column name Type Nullalbe
AUTHOR_ID INTEGER FALSE
AUTHOR_NAME VARCHAR(N) FALSE
  • BOOK_SALES 테이블은 각 도서의 날짜 별 판매량 정보를 담고 있습니다.
  • BOOK_ID, SALES_DATE, SALES는 각각 도서 ID, 판매일, 판매량을 의미합니다.
Column name Type Nullable
BOOK_ID INTEGER FALSE
SALES_DATE DATE FALSE
SALES INTEGER FALSE

 

문제

  • 2022년 1월의 도서 판매 데이터를 기준으로 저자 별, 카테고리 별 매출액(TOTAL_SALES = 판매량 * 판매가)을 구하여, 저자 ID(AUTHOR_ID), 저자명(AUTHOR_NAME), 카테고리(CATEGORY), 매출액(SALES) 리스트를 출력하는 SQL을 작성해주세요.
  • 결과는 저자 ID를 오름차순으로, 저자 ID가 같다면 카테고리를 내림차순으로 정렬해주세요.
  • 문제 예시

BOOK

BOOK_ID CATEGORY AUTHOR_ID PRICE PUBLISHED_DATE
1 인문 1 10000 2020-01-01
2 경제 1 9000 2021-02-05
3 경제 2 9000 2021-03-11

AUTHOR

AUTHOR_ID AUTHOR_NAME
1 홍길동
2 김영호

BOOK_SALES

BOOK_ID SALES_DATE SALES
1 2022-01-01 2
2 2022-01-02 3
1 2022-01-05 1
2 2022-01-20 5
2 2022-01-21 6
3 2022-01-22 2
2 2022-02-11 3

 

  • 출력 예시
AUTHOR_ID AUTHRO_NAME CATEGORY TOTAL_SALES
1 홍길동 인문 30000
1 홍길동 경제 126000
2 김영호 경제 18000

 

💻 코드

최종 코드

  • 실행 결과

코드 풀이

 

반응형
반응형

🗓️ 문제 설명

  • FIRST_HALF 테이블은 아이스크림 가게의 상반기 주문정보를 담고 있습니다.
  • SHIPMENT_ID, FLAVOR, TOTAL_ORDER는 각각 아이스크림 공장에서 아이스크림 가게까지의 출하 번호, 아이스크림 맛, 상반기 아이스크림 총주문량을 나타냅니다.
  • FIRST_HALF 테이블의 기본 키는 FLAVOR이며, FIRST_HALF 테이블의 SHIPMENT_ID는 JULY 테이블의 SHIPMENT_ID의 외래 키입니다.
NAME TYPE NULLABLE
SHIPMENT_ID INT(N) FALSE
FLAVOR VARCHAR(N) FALSE
TOTAL_ORDER INT(N) FALSE
  • JULY 테이블은 7월의 아이스크림 주문정보를 담고 있습니다.
  • SHIPMENT_ID, FLAVOR, TOTAL_ORDER는 각각 아이스크림 공장에서 아이스크림 가게까지의 출하 번호, 아이스크림 맛, 7월 아이스크림 총 주문량을 나타냅니다.
  • JULY 테이블의 기본 키는 SHIPMENT_ID입니다.
  • 7월에는 아이스크림 주문량이 많아 같은 아이스크림에 대해 서로 다른 두 공장에서 아이스크림 가게로 출하를 진행하기 때문에 같은 맛의 아이스크림이라도 다른 출하 번호를 갖게 됩니다.
NAME TYPE NULLABLE
SHIPMENT_ID INT(N) FALSE
FLAVOR VARCHAR(N) FALSE
TOTAL_ORDER INT(N) FALSE

 

문제

  • 7월 아이스크림 총 주문량과 상반기의 아이스크림 총 주문량을 더한 값이 큰 순서대로 상위 3개의 맛을 조회하는 SQL문을 작성해주세요.
  • 문제 예시

FIRST_HALF

SHIPMENT_ID FLAVOR TOTAL_ORDER
101 chocolate 3200
102 vanilla 2800
103 mint_chocolate 1700
104 caramel 2600
105 white_chocolate 3100
106 peach 2450
107 watermelon 2150
108 mango 2900
109 strawberry 3100
110 melon 3150
111 orange 2900
112 pineapple 2900

JULY

SHIPMENT_ID FLAVOR TOTAL_ORDER
101 chocolate 520
102 vanilla 560
103 mint_chocolate 400
104 caramel 460
105 white_chocolate 350
106 peach 500
107 watermelon 780
108 mango 790
109 strawberry 520
110 melon 400
111 orange 250
112 pineapple 200
208 mango 110
209 strawberry 220

 

  • 출력 예시
FLAVOR
strawberry
mango
chocolate

 

💻 코드

최종 코드

  • 실행 결과

 

코드 풀이

 

반응형
반응형

🗓️ 문제 설명

  • CAR_RENTAL_COMPANY_CAR 테이블은 대여 중인 자동차들의 정보를 담고 있습니다.
  • CAR_ID, CAR_TYPE, DAILY_FEE, OPTIONS는 각각 자동차 ID, 자동차 종류, 일일 대여 요금(원), 자동차 옵션 리스트를 나타냅니다.
  • 자동차 종류는 '세단', 'SUV', '승합차', '트럭', '리무진'이 있고, 자동차 옵션 리스트는 콤마(',')로 구분된 키워드 리스트로 되어있습니다.
  • 키워드 종류는 '주차감지센서', '스마트키', '네비게이션', '통풍시트', '열선시트', '후방카메라', '가죽시트'가 있습니다.
Column name Type Nullable
CAR_ID INTEGER FALSE
CAR_TYPE VARCHAR(255) FALSE
DAILY_FEE INTEGER FALSE
OPTIONS VARCHAR(255) FALSE
  • CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블은 자동차 대여 기록 정보를 담고 있습니다.
  • HISTORY_ID, CAR_ID, START_DATE, END_DATE는 각각 자동차 대여 기록 ID, 자동차 ID, 대여 시작일, 대여 종료일을 나타냅니다.
Column name Type Nullable
HISTORY_ID INTEGER FALSE
CAR_ID INTEGER FALSE
START_DATE DATE FALSE
END_DATE DATE FALSE
  • CAR_RENTAL_COMPANY_DISCOUNT_PLAN 테이블은 자동차 종류 별 대여 기간 종류 별 할인 정책 정보를 담고 있습니다.
  • PLAN_ID, CAR_TYPE, DURATION_TYPE, DISCOUNT_RATE는 각각 요금 할인 정책 ID, 자동차 종류, 대여 기간 종류, 할인율(%)을 나타냅니다.
  • 할인율이 적용되는 대여 기간 종류로는 '7일 이상'(대여 기간이 7일 이상 30일 미만), '30일 이상'(대여 기간이 30일 이상 90일 미만), '90일 이상'(대여 기간이 90일 이상)이 있습니다.
Column name Type Nullable
PLAN_ID INTEGER FALSE
CAR_TYPE VARCHAR(255) FALSE
DURATION_TYPE VARCHAR(255) FALSE
DISCOUNT_RATE INTEGER FALSE

 

문제

  • 자동차 종류가 '세단' 또는 'SUV'인 자동차 중 2022년 11월 1일부터 2022년 11월 30일까지 대여 가능하고 30일간의 대여 금액이 50만원 이상 200만원 미만인 자동차에 대해서 자동차 ID, 자동차 종류, 대여 금액(컬럼명 : FEE) 리스트를 출력하는 SQL문을 작성해주세요.
  • 결과는 대여 금액을 기준으로 내림차순 정렬하고, 대여 금액이 같은 경우 자동차 종류를 기준으로 오름차순 정렬, 자동차 종류까지 같은 경우 자동차 ID를 기준으로 내림차순 정렬해주세요.
  • 문제 예시

CAR_RENTAL_COMPANY_CAR

CAR_ID CAR_TYPE DAILY_FEE OPTIONS
1 SUV 25000 가죽시트, 열선시트, 후방카메라
2 세단 14000 스마트키, 네비게이션, 열선시트
3 트럭 32000 주차감지센서, 후방카메라, 가죽시트
4 세단 12000 열선시트, 후방카메라
5 세단 22000 스마트키, 주차감지센서

CAR_RENTAL_COMPANY_RENTAL_HISTORY

HISTORY_ID CAR_ID START_DATE END_DATE
1 1 2022-08-27 2022-09-02
2 1 2022-10-03 2022-10-04
3 2 2022-10-05 2022-10-20
4 2 2022-10-10 2022-11-12
5 3 2022-10-16 2022-10-17

CAR_RENTAL_COMPANY_DISCOUNT_PLAN

PLAN_ID CAR_TYPE DURATION_TYPE DISCOUNT_RATE
1 트럭 7일 이상 5%
2 트럭 30일 이상 7%
3 트럭 90일 이상 10%
4 세단 7일 이상 5%
5 세단 30일 이상 10%
6 세단 90일 이상 15%
7 SUV 7일 이상 3%
8 SUV 30일 이상 8%
9 SUV 90일 이상 12%

 

  • 출력 예시
CAR_ID CAR_TYPE FEE
5 세단 690000
1 SUV 621000

 

💻 코드

최종 코드

  • 실행 결과

 

코드 풀이

 

반응형
반응형

🗓️ 문제 설명

  • PATIENT는 환자의 정보를 담은 테이블입니다.
  • PT_NO, PT_NAME, GEND_CD, AGE, TLNO는 각각 환자번호, 환자이름, 성별코드, 나이, 전화번호를 의미합니다.
Column name Type Nullable
PT_NO VARCHAR(N) FALSE
PT_NAME VARCHAR(N) FALSE
GEND_CD VARCHAR(N) FALSE
AGE INTEGER FALSE
TLNO VARCHAR(N) TRUE
  • DOCTOR는 의사의 정보를 담은 테이블입니다.
  • DR_NAME, DR_ID, LCNS_NO, HIRE_YMD, MCDP_CD, TLNO는 각각 의사이름, 의사ID, 면허번호, 고용일자, 진료과코드, 전화번호를 나타냅니다.
Column name Type Nullable
DR_NAME VARCHAR(N) FALSE
DR_ID VARCHAR(N) FALSE
LCNS_NO VARCHAR(N) FALSE
HIRE_YMD DATE FALSE
MCDP_CD VARCHAR(N) TRUE
TLNO VARCHAR(N) TRUE
  • APPOINTMENT는 진료 예약목록을 담은 테이블입니다.
  • APNT_YMD, APNT_NO, PT_NO, MCDP_CD, MDDR_ID, APNT_CNCL_YN, APNT_CNCL_YMD는 각각 진료 예약일시, 진료예약번호, 환자번호, 진료과코드, 의사ID, 예약취소여부, 예약취소날짜를 나타냅니다.
Column name Type Nullable
APNT_YMD TIMESTAMP FALSE
APNT_NO INTEGER FALSE
PT_NO VARCHAR(N) FALSE
MCDP_CD VARCHAR(N) FALSE
MDDR_ID VARCHAR(N) FALSE
APNT_CNCL_YN VARCHAR(N) TRUE
APNT_CNCL_YMD DATE TRUE

 

문제

  • 2022년 4월 13일 취소되지 않은 흉부외과(CS) 진료 예약 내역을 조회하는 SQL문을 작성해주세요.
  • 진료예약번호, 환자이름, 환자번호, 진료과코드, 의사이름, 진료예약일시 항목이 출력되도록 작성해주세요.
  • 결과는 진료예약일시를 기준으로 오름차순 정렬해주세요.
  • 문제 예시

PATIENT

PT_NO PT_NAME GEND_CD AGE TLNO
PT22000019 바라 W 10 01079068799
PT22000043 오스왈드 M 68 01031294124
PT22000052 제니 W 60 NULL
PT22000071 몬몬 M 31 01076489209
PT22000097 슈가 M 19 NULL

DOCTOR

DR_NAME DR_ID LCNS_NO HIRE_YMD MCDP_CD TLNO
루피 DR20090029 LC00010001 2009-03-01 CS 01085482011
니모 DR20200012 LC00911162 2020-03-01 CS 01089483921
핑크퐁 DR20140011 LC00082201 2014-03-01 NP 01098428957
젤라비 DR20160031 LC00340327 2016-11-01 OB 01023981922
토리 DR20190129 LC00099911 2019-03-01 NS 01058390758

APPOINTMENT

APNT_YMD APNT_NO PT_NO MCDP_CD MDDR_ID APNT_CNCL_YN APNT_CNCL_YMD
2022-04-13 12:30:00.000000 42 PT22000071 CS DR20090029 N NULL
2022-04-13 15:30:00.000000 43 PT22000019 CS DR20200012 N NULL
2022-04-13 09:00:00.000000 46 PT22000043 CS DR20090029 N NULL
2022-07-09 11:00:00.000000 74 PT22000042 NP DR20100011 N NULL
2022-12-13 12:30:00.000000 110 PT22000097 NP DR20160011 Y 2022-12-03

 

  • 출력 예시
APNT_NO PT_NAME PT_NO MCDP_CD DR_NAME APNT_YMD
46 오스왈드 PT22000043 CS 루피 2022-04-13 09:00:00.000000
42 몬몬 PT22000071 CS 루피 2022-04-13 12:30:00.000000
43 바라 PT22000019 CS 니모 2022-04-13 15:30:00.000000

 

💻 코드

최종 코드

  • 실행 결과

 

코드 풀이

 

반응형
반응형

🗓️ 문제 설명

  • MEMBER_PROFILE 테이블의 MEMBER_ID, MEMBER_NAME, TLNO, GENDER, DATE_OF_BIRTH는 각각 회원 ID, 회원 이름, 회원 연락처, 성별, 생년월일을 의미합니다.
Column name Type Nullable
MEMBER_ID VARCHAR(100) FALSE
MEMBER_NAME VARCHAR(50) FALSE
TLNO VARCHAR(50) TRUE
GENDER VARCHAR(1) TRUE
DATE_OF_BIRTH DATE TRUE
  • REST_REVIEW 테이블의 REVIEW_ID, REST_ID, MEMBER_ID, REVIEW_SCORE, REVIEW_TEXT, REVIEW_DATE는 각각 리뷰 ID, 식당 ID, 회원 ID, 점수, 리뷰 텍스트, 리뷰 작성일을 의미합니다.
Column name Type Nullable
REVIEW_ID VARCHAR(100) FALSE
REST_ID VARCHAR(10) TRUE
MEMBER_ID VARCHAR(100) TRUE
REVIEW_SCORE NUMBER TRUE
REVIEW_TEXT VARCHAR(1000) TRUE
REVIEW_DATE DATE TRUE

 

문제

  • 리뷰를 가장 많이 작성한 회원의 리뷰들을 조회하는 SQL문을 작성해주세요.
  • 회원 이름, 리뷰 텍스트, 리뷰 작성일이 출력되도록 작성해주시고, 결과는 리뷰 작성일을 기준으로 오름차순, 리뷰 작성일이 같다면 리뷰 텍스트를 기준으로 오름차순 정렬해주세요.
  • 문제 예시

MEMBER_PROFILE

MEMBER_ID MEMBER_NAME TLNO GENDER DATE_OF_BIRTH
jiho92@naver.com 이지호 01076432111 W 1992-02-12
jiyoon22@hotmail.com 김지윤 01032324117 W 1992-02-22
jihoon93@hanmail.net 김지훈 01023258688 M 1993-02-23
seoyeons@naver.com 박서연 01076482209 W 1993-03-16
yelin1130@gmail.com 조예린 01017626711 W 1990-11-30

REST_REVIEW

REVIEW_ID REST_ID MEMBER_ID REVIEW_SCORE REVIEW_TEXT REVIEW_DATE
R000000065 00028 soobin97@naver.com 5 부찌 국물에서 샤브샤브 맛이 나고 깔끔 2022-04-12
R000000066 00039 yelin1130@gmail.com 5 김치찌개 최곱니다. 2022-02-12
R000000067 00028 yelin1130@gmail.com 5 햄이 많아서 좋아요 2022-02-22
R000000068 00035 ksyi0316@gmail.com 5 숙성회가 끝내줍니다. 2022-02-15
R000000069 00035 yoonsy95@naver.com 4 비린내가 전혀 없어요. 2022-04-16

 

  • 출력 예시
MEMBER_NAME REVIEW_TEXT REVIEW_DATE
조예린 김치찌개 최곱니다. 2022-02-12
조예린 햄이 많아서 좋아요 2022-02-22

 

💻 코드

최종 코드

  • 실행 결과

 

코드 풀이

 

반응형
반응형

🗓️ 문제 설명

  • USER_INFO 테이블은 의류 쇼핑몰에 가입한 회원 정보를 담고 있습니다.
  • USER_ID, GENDER, AGE, JOINED는 각각 회원 ID, 성별, 나이, 가입일을 나타냅니다.
  • GENDER 컬럼은 비어있거나 0 또는 1의 값을 가지며 0인 경우 남자를 1인 경우 여자를 나타냅니다.
Column name Type Nullable
USER_ID INTEGER FALSE
GENDER TINYINT(1) TRUE
AGE INTEGER TRUE
JOINED DATE FALSE
  • ONLINE_SALE 테이블은 온라인 상품 판매 정보를 담고 있습니다.
  • ONLINE_SALE_ID, USER_ID, PRODUCT_ID, SALES_AMOUNT, SALES_DATE는 각각 온라인 상품 판매 ID, 회원 ID, 상품 ID, 판매량, 판매일을 나타냅니다.
  • 동일한 날짜, 회원 ID, 상품 ID 조합에 대해서는 하나의 판매 데이터만 존재합니다.
Column name Type Nullable
ONLINE_SALE_ID INTEGER FALSE
USER_ID INTEGER FALSE
PRODUCT_ID INTEGER FALSE
SALES_AMOUNT INTEGER FALSE
SALES_DATE DATE FALSE

 

문제

  • 년, 월, 성별 별로 상품을 구매한 회원수를 집계하는 SQL문을 작성해주세요.
  • 결과는 년, 월, 성별을 기준으로 오름차순 정렬해주세요.
  • 이때, 성별 정보가 없는 경우 결과에서 제외해주세요.
  • 문제 예시

USER_INFO

USER_ID GENGER AGE JOINED
1 1 26 2021-06-01
2 NULL NULL 2021-06-25
3 0 NULL 2021-06-30
4 0 31 2021-07-03
5 1 25 2021-07-09
6 1 33 2021-07-14

ONLINE_SALE

ONLINE_SALE_ID USER_ID PRODUCT_ID SALES_AMOUNT SALES_DATE
1 1 54 1 2022-01-01
2 1 3 2 2022-01-25
3 4 34 1 2022-01-30
4 6 253 3 2022-02-03
5 2 31 2 2022-02-09
6 5 35 1 2022-02-14
7 5 57 1 2022-02-18

 

  • 출력 예시
YEAR MONTH GENDER USERS
2022 1 0 1
2022 1 1 1
2022 2 1 2

 

💻 코드

최종 코드

  • 실행 결과

 

코드 풀이

 

반응형
반응형

🗓️ 문제 설명

  • REST_INFO 테이블은 식당의 정보를 담고 있습니다. 
  • REST_ID, REST_NAME, FOOD_TYPE, VIEWS, FAVORITES, PARKING_LOT, ADDRESS, TEL은 각각 식당 ID, 식당 이름, 음식 종류, 조회수, 즐겨찾기수, 주차장 유무, 주소, 전화번호를 의미합니다.
Column name Type Nullable
REST_ID VARCHAR(5) FALSE
REST_NAME VARCHAR(50) FALSE
FOOD_TYPE VARCHAR(20) TRUE
VIEWS NUMBER TRUE
FAVORITES NUMBER TRUE
PARKING_LOT VARCHAR(1) TRUE
ADDRESS VARCHAR(100) TRUE
TEL VARCHAR(100) TRUE
  • REST_REVIEW 테이블은 식당의 리뷰 정보를 담고 있습니다.
  • REVIEW_ID, REST_ID, MEMBER_ID, REVIEW_SCORE, REVIEW_TEXT, REVIEW_DATE는 각각 리뷰 ID, 식당 ID, 회원 ID, 점수, 리뷰 텍스트, 리뷰 작성일을 의미합니다.
Column name Type Nullable
REVIEW_ID VARCHAR(10) FALSE
REST_ID VARCHAR(10) TRUE
MEMBER_ID VARCHAR(100) TRUE
REVIEW_SCORE NUMBER TRUE
REVIEW_TEXT VARCHAR(1000) TRUE
REVIEW_DATE DATE TRUE

 

문제

  • 서울에 위치한 식당들의 식당 ID, 식당 이름, 음식 종류, 즐겨찾기수, 주소, 리뷰 평균 점수를 조회하는 SQL문을 작성해주세요.
  • 이때 리뷰 평균점수는 소수점 세번째 자리에서 반올림 해주시고 결과는 평균점수를 기준으로 내림차순 정렬해주시고, 평균점수가 같다면 즐겨찾기수를 기준으로 내림차순 정렬해주세요.
  • 문제 예시

REST_INFO

REST_ID REST_NAME FOOD_TYPE VIEWS FAVORITES PARKING_LOT ADDRESS TEL
00028 대우부대찌개 한식 52310 10 N 경기도 용인시 처인구 남사읍 처인성로 309 031-235-1235
00039 광주식당 한식 23001 20 N 경기도 부천시 산업로8번길 60 031-235-6423
00035 삼촌식당 일식 532123 80 N 서울특별시 강서구 가로공원로 76가길 02-135-1266

REST_REVIEW

REVIEW_ID REST_ID MEMBER_ID REVIEW_SCORE REVIEW_TEXT REVIEW_DATE
R000000065 00028 soobin97@naver.com 5 부찌 국물에서 샤브샤브 맛이 나고 깔끔 2022-04-12
R000000066 00039 yelin1130@gmail.com 5 김치찌개 최곱니다. 2022-02-12
R000000067 00028 yelin1130@gmail.com 5 햄이 많아서 좋아요 2022-02-22
R000000068 00035 ksyi0316@gmail.com 5 숙성회가 끝내줍니다. 2022-02-15
R000000069 00035 yoonsy95@naver.com 4 비린내가 전혀 없어요. 2022-04-16

 

  • 출력 예시
REST_ID REST_NAME FOOD_TYPE FAVORITES ADDRESS SCORE
00035 삼촌식당 일식 80 서울특별시 강서구 가로공원로 76가길 4.50

 

💻 코드

최종 코드

  • 실행 결과

 

코드 풀이

 

반응형
반응형

🗓️ 문제 설명

  • FOOD_PRODUCT 테이블은 식품의 정보를 담고 있습니다.
  • PRODUCT_Id, PRODUCT_NAME, PRODUCT_CD, CATEGORY, PRICE는 식품ID, 식품이름, 식품코드, 식품분류, 식품가격을 의미합니다.
Column name Type Nullable
PRODUCT_ID VARCHAR(10) FALSE
PRODUCT_NAME VARCHAR(50) FALSE
PRODUCT_CD VARCHAR(10) TRUE
CATEGORY VARCHAR(10) TRUE
PRICE NUMBER TRUE
  • FOOD_ORDER 테이블은 식품의 주문 정보를 담고 있습니다.
  • ORDER_ID, PRODUCT_ID, AMOUNT, PRODUCE_DATE, IN_DATE, OUT_DATE, FACTORY_ID, WAREHOUSE_ID는 각각 주문 ID, 제품 ID, 주문량, 생산일자, 입고일자, 출고일자, 공장 ID, 창고 ID를 의미합니다.
Column name Type Nullable
ORDER_ID VARCHAR(10) FALSE
PRODUCT_ID VARCHAR(5) FALSE
AMOUNT NUMBER FALSE
PRODUCE_DATE DATE TRUE
IN_DATE DATE TRUE
OUT_DATE DATE TRUE
FACTORY_ID VARCHAR(10) FALSE
WAREHOUSE_ID VARCHAR(10) FALSE

 

문제

  • 생산일자가 2022년 5월인 식품들의 식품 ID, 식품이름, 총매출을 조회하는 SQL문을 작성해주세요.
  • 이때 결과는 총매출을 기준으로 내림차순 정렬해주시고 총매출이 같다면 식품ID를 기준으로 오름차순 정렬해주세요.
  • 문제 예시

FOOD_PRODUCT

PRODUCT_ID PRODUCT_NAME PRODUCT_CD CATEGORY PRICE
P0011 맛있는콩기름 CD_OL00001 식용유 4880
P0012 맛있는올리브유 CD_OL00002 식용유 7200
P0013 맛있는포도씨유 CD_OL00003 식용유 5950
P0014 맛있는마조유 CD_OL00004 식용유 8950
P0015 맛있는화조유 CD_OL00005 식용유 8800
P0016 맛있는참기름 CD_OL00006 식용유 7100
P0017 맛있는들기름 CD_OL00007 식용유 7900
P0018 맛있는고추기름 CD_OL00008 식용유 6100
P0019 맛있는카놀라유 CD_OL00009 식용유 5100
P0020 맛있는산초유 CD_OL00010 식용유 6500

FOOD_ORDER

ORDER_ID PRODUCT_ID AMOUNT PRODUCE_DATE IN_DATE OUT_DATE FACTORY_ID WAREHOUSE_ID
OD00000056 P0012 1000 2022-04-04 2022-04-21 2022-04-25 FT19980002 WH0032
OD00000057 P0014 2500 2022-04-14 2022-04-27 2022-05-01 FT19980002 WH0033
OD00000058 P0017 1200 2022-05-19 2022-05-28 2022-05-28 FT20070002 WH0033
OD00000059 P0017 1000 2022-05-24 2022-05-30 2022-05-30 FT20070002 WH0038
OD00000060 P0019 2000 2022-05-29 2022-06-08 2022-06-08 FT20070002 WH0035

 

  • 출력 예시
PRODUCT_ID PRODUCT_NAME TOTAL_SALES
P0017 맛있는들기름 17380000
P0019 맛있는카놀라유 10200000

 

💻 코드

최종 코드

  • 실행 결과

 

코드 풀이

 

반응형

+ Recent posts