24.01.09 SQL 집중 코드카타

예진·2024년 1월 9일
0

TIL

목록 보기
14/68

NULL 처리하기

문제 설명

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_IDANIMAL_TYPEDATETIMEINTAKE_CONDITIONNAMESEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.

NAMETYPENULLABLE
ANIMAL_IDVARCHAR(N)FALSE
ANIMAL_TYPEVARCHAR(N)FALSE
DATETIMEDATETIMEFALSE
INTAKE_CONDITIONVARCHAR(N)FALSE
NAMEVARCHAR(N)TRUE
SEX_UPON_INTAKEVARCHAR(N)FALSE

입양 게시판에 동물 정보를 게시하려 합니다. 동물의 생물 종, 이름, 성별 및 중성화 여부를 아이디 순으로 조회하는 SQL문을 작성해주세요. 이때 프로그래밍을 모르는 사람들은 NULL이라는 기호를 모르기 때문에, 이름이 없는 동물의 이름은 "No name"으로 표시해 주세요.

예시

예를 들어 ANIMAL_INS 테이블이 다음과 같다면

ANIMAL_IDANIMAL_TYPEDATETIMEINTAKE_CONDITIONNAMESEX_UPON_INTAKE
A350276Cat2017-08-13 13:50:00NormalJewelSpayed Female
A350375Cat2017-03-06 15:01:00NormalMeoNeutered Male
A368930Dog2014-06-08 13:20:00NormalNULLSpayed Female

마지막 줄의 개는 이름이 없기 때문에, 이 개의 이름은 "No name"으로 표시합니다. 따라서 SQL문을 실행하면 다음과 같이 나와야 합니다.

ANIMAL_TYPENAMESEX_UPON_INTAKE
CatJewelSpayed Female
CatMeoNeutered Male
DogNo nameSpayed Female

※ 컬럼 이름은 일치하지 않아도 됩니다.

SELECT ANIMAL_TYPE,
       IF(NAME IS NULL, "No name", NAME),
       SEX_UPON_INTAKE
FROM ANIMAL_INS
ORDER BY ANIMAL_ID

IF문 활용해서 NULL값 처리하는 방법 정확하게 기억하자!

동명 동물 수 찾기

문제 설명

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_IDANIMAL_TYPEDATETIMEINTAKE_CONDITIONNAMESEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.

NAMETYPENULLABLE
ANIMAL_IDVARCHAR(N)FALSE
ANIMAL_TYPEVARCHAR(N)FALSE
DATETIMEDATETIMEFALSE
INTAKE_CONDITIONVARCHAR(N)FALSE
NAMEVARCHAR(N)TRUE
SEX_UPON_INTAKEVARCHAR(N)FALSE

동물 보호소에 들어온 동물 이름 중 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회하는 SQL문을 작성해주세요. 이때 결과는 이름이 없는 동물은 집계에서 제외하며, 결과는 이름 순으로 조회해주세요.

예시

예를 들어 ANIMAL_INS 테이블이 다음과 같다면

ANIMAL_IDANIMAL_TYPEDATETIMEINTAKE_CONDITIONNAMESEX_UPON_INTAKE
A396810Dog2016-08-22 16:13:00InjuredRavenSpayed Female
A377750Dog2017-10-25 17:17:00NormalLucySpayed Female
A355688Dog2014-01-26 13:48:00NormalShadowNeutered Male
A399421Dog2015-08-25 14:08:00NormalLucySpayed Female
A400680Dog2017-06-17 13:29:00NormalLucySpayed Female
A410668Cat2015-11-19 13:41:00NormalRavenSpayed Female
  • Raven 이름은 2번 쓰였습니다.
  • Lucy 이름은 3번 쓰였습니다
  • Shadow 이름은 1번 쓰였습니다.

따라서 SQL문을 실행하면 다음과 같이 나와야 합니다.

NAMECOUNT
Lucy3
Raven2
SELECT NAME,
       COUNT(*) COUNT
FROM ANIMAL_INS
WHERE NAME IS NOT NULL
GROUP BY NAME
HAVING COUNT >= 2
ORDER BY NAME

HAVING의 쓰임 이해하기

입양 시각 구하기(1)

문제 설명

ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_IDANIMAL_TYPEDATETIMENAMESEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 종, 입양일, 이름, 성별 및 중성화 여부를 나타냅니다.

NAMETYPENULLABLE
ANIMAL_IDVARCHAR(N)FALSE
ANIMAL_TYPEVARCHAR(N)FALSE
DATETIMEDATETIMEFALSE
NAMEVARCHAR(N)TRUE
SEX_UPON_OUTCOMEVARCHAR(N)FALSE

보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 09:00부터 19:59까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다.

예시

SQL문을 실행하면 다음과 같이 나와야 합니다.

HOURCOUNT
91
102
1113
1210
1314
149
157
1610
1712
1816
192
SELECT HOUR(DATETIME) AS HOUR, COUNT(*) AS COUNT
FROM animal_outs
WHERE HOUR(DATETIME) BETWEEN 9 AND 19
GROUP BY HOUR
ORDER BY HOUR;

Datetimehour함수 이용하기
where절로 between을 쓸 수도 있지만, having도 가능

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

문제 설명

다음은 어느 한 서점에서 판매중인 도서들의 도서 정보(BOOK), 저자 정보(AUTHOR) 테이블입니다.

BOOK 테이블은 각 도서의 정보를 담은 테이블로 아래와 같은 구조로 되어있습니다.

Column nameTypeNullableDescription
BOOK_IDINTEGERFALSE도서 ID
CATEGORYVARCHAR(N)FALSE카테고리 (경제, 인문, 소설, 생활, 기술)
AUTHOR_IDINTEGERFALSE저자 ID
PRICEINTEGERFALSE판매가 (원)
PUBLISHED_DATEDATEFALSE출판일

AUTHOR 테이블은 도서의 저자의 정보를 담은 테이블로 아래와 같은 구조로 되어있습니다.

Column nameTypeNullableDescription
AUTHOR_IDINTEGERFALSE저자 ID
AUTHOR_NAMEVARCHAR(N)FALSE저자명

문제

'경제' 카테고리에 속하는 도서들의 도서 ID(BOOK_ID), 저자명(AUTHOR_NAME), 출판일(PUBLISHED_DATE) 리스트를 출력하는 SQL문을 작성해주세요.

결과는 출판일을 기준으로 오름차순 정렬해주세요.


예시

예를 들어 BOOK 테이블과 AUTHOR 테이블이 다음과 같다면

BOOK_IDCATEGORYAUTHOR_IDPRICEPUBLISHED_DATE
1인문1100002020-01-01
2경제190002021-04-11
3경제2110002021-02-05
AUTHOR_IDAUTHOR_NAME
1홍길동
2김영호

'경제' 카테고리에 속하는 도서는 도서 ID가 2, 3인 도서이고, 출판일을 기준으로 오름차순으로 정렬하면 다음과 같은 결과가 나와야 합니다.

BOOK_IDAUTHOR_NAMEPUBLISHED_DATE
3김영호2021-02-05
2홍길동2021-04-11
SELECT B.BOOK_ID,
       A.AUTHOR_NAME, 
       DATE_FORMAT(B.PUBLISHED_DATE, '%Y-%m-%d') 
FROM BOOK AS B INNER JOIN AUTHOR AS A ON B.AUTHOR_ID = A.AUTHOR_ID
WHERE B.CATEGORY = '경제'
ORDER BY B.PUBLISHED_DATE ASC;

조건별로 분류하여 주문상태 출력하기

문제 설명

다음은 식품공장의 주문정보를 담은 FOOD_ORDER 테이블입니다. FOOD_ORDER 테이블은 다음과 같으며 ORDER_IDPRODUCT_IDAMOUNTPRODUCE_DATEIN_DATE,OUT_DATE,FACTORY_IDWAREHOUSE_ID는 각각 주문 ID, 제품 ID, 주문양, 생산일자, 입고일자, 출고일자, 공장 ID, 창고 ID를 의미합니다.

Column nameTypeNullable
ORDER_IDVARCHAR(10)FALSE
PRODUCT_IDVARCHAR(5)FALSE
AMOUNTNUMBERFALSE
PRODUCE_DATEDATETRUE
IN_DATEDATETRUE
OUT_DATEDATETRUE
FACTORY_IDVARCHAR(10)FALSE
WAREHOUSE_IDVARCHAR(10)FALSE

문제

FOOD_ORDER 테이블에서 5월 1일을 기준으로 주문 ID, 제품 ID, 출고일자, 출고여부를 조회하는 SQL문을 작성해주세요. 출고여부는 5월 1일까지 출고완료로 이 후 날짜는 출고 대기로 미정이면 출고미정으로 출력해주시고, 결과는 주문 ID를 기준으로 오름차순 정렬해주세요.


예시

FOOD_ORDER 테이블이 다음과 같을 때

ORDER_IDPRODUCT_IDAMOUNTPRODUCE_DATEIN_DATEOUT_DATEFACTORY_IDWAREHOUSE_ID
OD00000051P000240002022-04-012022-04-212022-04-21FT19970003WH0005
OD00000052P000325002022-04-102022-04-272022-04-27FT19970003WH0006
OD00000053P000562002022-04-152022-04-302022-05-01FT19940003WH0003
OD00000054P000610002022-04-212022-04-30NULLFT19940003WH0009
OD00000055P000815002022-04-252022-05-112022-05-11FT19980003WH0009

SQL을 실행하면 다음과 같이 출력되어야 합니다.

ORDER_IDPRODUCT_IDOUT_DATE출고여부
OD00000051P00022022-04-21출고완료
OD00000052P00032022-04-27출고완료
OD00000053P00052022-05-01출고완료
OD00000054P0006출고미정
OD00000055P00082022-05-11출고대기
SELECT ORDER_ID,
       PRODUCT_ID,
       DATE_FORMAT(OUT_DATE, '%Y-%m-%d'),
       CASE WHEN date_format(out_date, '%m-%d') <= '05-01' THEN '출고완료'
            WHEN date_format(out_date, '%m-%d') > '05-01' THEN '출고대기'
            ELSE '출고미정'
            END '출고여부'
FROM FOOD_ORDER
ORDER BY 1

DATE_FORMAT : 날짜 데이터를 원하는 포멧으로 보고 싶을 때 사용
CASE WHEN : 날짜별로 조건마다 다른 값 출력

성분으로 구분한 아이스크림 총 주문량

문제 설명

다음은 아이스크림 가게의 상반기 주문 정보를 담은 FIRST_HALF 테이블과 아이스크림 성분에 대한 정보를 담은 ICECREAM_INFO 테이블입니다. FIRST_HALF 테이블 구조는 다음과 같으며, SHIPMENT_IDFLAVORTOTAL_ORDER 는 각각 아이스크림 공장에서 아이스크림 가게까지의 출하 번호, 아이스크림 맛, 상반기 아이스크림 총주문량을 나타냅니다. FIRST_HALF 테이블의 기본 키는 FLAVOR입니다.

NAMETYPENULLABLE
SHIPMENT_IDINT(N)FALSE
FLAVORVARCHAR(N)FALSE
TOTAL_ORDERINT(N)FALSE

ICECREAM_INFO 테이블 구조는 다음과 같으며, FLAVORINGREDITENT_TYPE 은 각각 아이스크림 맛, 아이스크림의 성분 타입을 나타냅니다. INGREDIENT_TYPE에는 아이스크림의 주 성분이 설탕이면 sugar_based라고 입력되고, 아이스크림의 주 성분이 과일이면 fruit_based라고 입력됩니다. ICECREAM_INFO의 기본 키는 FLAVOR입니다. ICECREAM_INFO테이블의 FLAVOR는 FIRST_HALF 테이블의 FLAVOR의 외래 키입니다.

NAMETYPENULLABLE
FLAVORVARCHAR(N)FALSE
INGREDIENT_TYPEVARCHAR(N)FALSE

문제

상반기 동안 각 아이스크림 성분 타입과 성분 타입에 대한 아이스크림의 총주문량을 총주문량이 작은 순서대로 조회하는 SQL 문을 작성해주세요. 이때 총주문량을 나타내는 컬럼명은 TOTAL_ORDER로 지정해주세요.


예시

예를 들어 FIRST_HALF 테이블이 다음과 같고

SHIPMENT_IDFLAVORTOTAL_ORDER
101chocolate3200
102vanilla2800
103mint_chocolate1700
104caramel2600
105white_chocolate3100
106peach2450
107watermelon2150
108mango2900
109strawberry3100
110melon3150
111orange2900
112pineapple2900

ICECREAM_INFO 테이블이 다음과 같다면

FLAVORINGREDIENT_TYPE
chocolatesugar_based
vanillasugar_based
mint_chocolatesugar_based
caramelsugar_based
white_chocolatesugar_based
peachfruit_based
watermelonfruit_based
mangofruit_based
strawberryfruit_based
melonfruit_based
orangefruit_based
pineapplefruit_based

상반기에 아이스크림의 주 성분이 설탕인 아이스크림들에 대한 총주문량을 구하면 3,200 + 2,800 + 1,700 + 2,600 + 3,100 = 13,400입니다. 아이스크림의 주 성분이 과일인 아이스크림들에 대한 총주문량을 구하면 3,100 + 2,450 + 2,150 + 2,900 + 3,150 + 2,900 + 2,900 = 19,550입니다. 따라서 총주문량이 작은 순서대로 조회하는 SQL 문을 실행하면 다음과 같이 나와야 합니다.

INGREDIENT_TYPETOTAL_ORDER
sugar_based13400
fruit_based19550
SELECT I.INGREDIENT_TYPE,
       SUM(F.TOTAL_ORDER) AS TOTAL_ORDER
FROM FIRST_HALF F INNER JOIN ICECREAM_INFO I ON F.FLAVOR=I.FLAVOR
GROUP BY I.INGREDIENT_TYPE
ORDER BY TOTAL_ORDER

루시와 엘라 찾기

문제 설명

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_IDANIMAL_TYPEDATETIMEINTAKE_CONDITIONNAMESEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.

NAMETYPENULLABLE
ANIMAL_IDVARCHAR(N)FALSE
ANIMAL_TYPEVARCHAR(N)FALSE
DATETIMEDATETIMEFALSE
INTAKE_CONDITIONVARCHAR(N)FALSE
NAMEVARCHAR(N)TRUE
SEX_UPON_INTAKEVARCHAR(N)FALSE

동물 보호소에 들어온 동물 중 이름이 Lucy, Ella, Pickle, Rogan, Sabrina, Mitty인 동물의 아이디와 이름, 성별 및 중성화 여부를 조회하는 SQL 문을 작성해주세요.

예시

이때 결과는 아이디 순으로 조회해주세요. 예를 들어 ANIMAL_INS 테이블이 다음과 같다면

ANIMAL_IDANIMAL_TYPEDATETIMEINTAKE_CONDITIONNAMESEX_UPON_INTAKE
A373219Cat2014-07-29 11:43:00NormalEllaSpayed Female
A377750Dog2017-10-25 17:17:00NormalLucySpayed Female
A353259Dog2016-05-08 12:57:00InjuredBjNeutered Male
A354540Cat2014-12-11 11:48:00NormalTuxNeutered Male
A354597Cat2014-05-02 12:16:00NormalArielSpayed Female

SQL문을 실행하면 다음과 같이 나와야 합니다.

ANIMAL_IDNAMESEX_UPON_INTAKE
A373219EllaSpayed Female
A377750LucySpayed Female
SELECT ANIMAL_ID,
       NAME,
       SEX_UPON_INTAKE
FROM ANIMAL_INS
WHERE NAME IN ('Lucy', 'Ella', 'Pickle', 'Rogan', 'Sabrina', 'Mitty')
ORDER BY ANIMAL_ID

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

문제 설명

다음은 어느 한 서점에서 판매중인 도서들의 도서 정보(BOOK) 테이블입니다.

BOOK 테이블은 각 도서의 정보를 담은 테이블로 아래와 같은 구조로 되어있습니다.

Column nameTypeNullableDescription
BOOK_IDINTEGERFALSE도서 ID
CATEGORYVARCHAR(N)FALSE카테고리 (경제, 인문, 소설, 생활, 기술)
AUTHOR_IDINTEGERFALSE저자 ID
PRICEINTEGERFALSE판매가 (원)
PUBLISHED_DATEDATEFALSE출판일

문제

BOOK 테이블에서 2021년에 출판된 '인문' 카테고리에 속하는 도서 리스트를 찾아서 도서 ID(BOOK_ID), 출판일 (PUBLISHED_DATE)을 출력하는 SQL문을 작성해주세요.

결과는 출판일을 기준으로 오름차순 정렬해주세요.


예시

예를 들어 BOOK 테이블이 다음과 같다면

BOOK_IDCATEGORYAUTHOR_IDPRICEPUBLISHED_DATE
1인문1100002020-01-01
2경제290002021-02-05
3인문2110002021-04-11
4인문3100002021-03-15
5생활1120002021-01-10

조건에 속하는 도서는 도서 ID 가 3, 4인 도서이므로 다음과 같습니다.

BOOK_IDPUBLISHED_DATE
32021-04-11
42021-03-15

그리고 출판일 오름차순으로 정렬하여야 하므로 다음과 같은 결과가 나와야 합니다.

BOOK_IDPUBLISHED_DATE
42021-03-15
32021-04-11
SELECT BOOK_ID,
       DATE_FORMAT(PUBLISHED_DATE, '%Y-%m-%d') AS PUBLISHED_DATE
FROM BOOK 
WHERE PUBLISHED_DATE LIKE '%2021%'
AND CATEGORY = '인문'
ORDER BY PUBLISHED_DATE

WHERE PUBLISHED_DATE에 2021을 포함한 값을 모두 구하는 식을 작성
= BETWEEN '2021-01-01' AND '2021-12-31'로도 작성 가능 

평균 일일 대여 요금 구하기

문제 설명

다음은 어느 자동차 대여 회사에서 대여중인 자동차들의 정보를 담은 CAR_RENTAL_COMPANY_CAR 테이블입니다. CAR_RENTAL_COMPANY_CAR 테이블은 아래와 같은 구조로 되어있으며, CAR_IDCAR_TYPEDAILY_FEEOPTIONS 는 각각 자동차 ID, 자동차 종류, 일일 대여 요금(원), 자동차 옵션 리스트를 나타냅니다.

Column nameTypeNullable
CAR_IDINTEGERFALSE
CAR_TYPEVARCHAR(255)FALSE
DAILY_FEEINTEGERFALSE
OPTIONSVARCHAR(255)FALSE

자동차 종류는 '세단', 'SUV', '승합차', '트럭', '리무진' 이 있습니다. 자동차 옵션 리스트는 콤마(',')로 구분된 키워드 리스트(예: '열선시트', '스마트키', '주차감지센서')로 되어있으며, 키워드 종류는 '주차감지센서', '스마트키', '네비게이션', '통풍시트', '열선시트', '후방카메라', '가죽시트' 가 있습니다.


문제

CAR_RENTAL_COMPANY_CAR 테이블에서 자동차 종류가 'SUV'인 자동차들의 평균 일일 대여 요금을 출력하는 SQL문을 작성해주세요. 이때 평균 일일 대여 요금은 소수 첫 번째 자리에서 반올림하고, 컬럼명은 AVERAGE_FEE 로 지정해주세요.


예시

예를 들어 CAR_RENTAL_COMPANY_CAR 테이블이 다음과 같다면

CAR_IDCAR_TYPEDAILY_FEEOPTIONS
1세단16000가죽시트,열선시트,후방카메라
2SUV14000스마트키,네비게이션,열선시트
3SUV22000주차감지센서,후방카메라,가죽시트

'SUV' 에 해당하는 자동차들의 평균 일일 대여 요금은 18,000 원 이므로, 다음과 같은 결과가 나와야 합니다.

AVERAGE_FEE = 18000

SELECT ROUND(AVG(DAILY_FEE), 0) AVERAGE_FEE
FROM CAR_RENTAL_COMPANY_CAR
WHERE CAR_TYPE = 'SUV'

ROUND() : 반올림 함수
          ROUND('수치값', '반올림 자릿수')
          0 ; 소수점 모두 반올림
          1 ; 소수점 첫 번째 자리까지 반올림
          2 ; 소수점 두 번째 자리까지 반올림 
          (음수일 경우 정수 첫번째,두번째... 자리 반올림)

조건에 맞는 사용자와 총 거래금액 조회하기

문제 설명

다음은 중고 거래 게시판 정보를 담은 USED_GOODS_BOARD 테이블과 중고 거래 게시판 사용자 정보를 담은 USED_GOODS_USER 테이블입니다. USED_GOODS_BOARD 테이블은 다음과 같으며 BOARD_IDWRITER_IDTITLECONTENTSPRICECREATED_DATESTATUSVIEWS는 게시글 ID, 작성자 ID, 게시글 제목, 게시글 내용, 가격, 작성일, 거래상태, 조회수를 의미합니다.

Column nameTypeNullable
BOARD_IDVARCHAR(5)FALSE
WRITER_IDVARCHAR(50)FALSE
TITLEVARCHAR(100)FALSE
CONTENTSVARCHAR(1000)FALSE
PRICENUMBERFALSE
CREATED_DATEDATEFALSE
STATUSVARCHAR(10)FALSE
VIEWSNUMBERFALSE

USED_GOODS_USER 테이블은 다음과 같으며 USER_IDNICKNAMECITYSTREET_ADDRESS1STREET_ADDRESS2TLNO는 각각 회원 ID, 닉네임, 시, 도로명 주소, 상세 주소, 전화번호를 를 의미합니다.

Column nameTypeNullable
USER_IDVARCHAR(50)FALSE
NICKANMEVARCHAR(100)FALSE
CITYVARCHAR(100)FALSE
STREET_ADDRESS1VARCHAR(100)FALSE
STREET_ADDRESS2VARCHAR(100)TRUE
TLNOVARCHAR(20)FALSE

문제

USED_GOODS_BOARD와 USED_GOODS_USER 테이블에서 완료된 중고 거래의 총금액이 70만 원 이상인 사람의 회원 ID, 닉네임, 총거래금액을 조회하는 SQL문을 작성해주세요. 결과는 총거래금액을 기준으로 오름차순 정렬해주세요.


예시

USED_GOODS_BOARD 테이블이 다음과 같고

BOARD_IDWRITER_IDTITLECONTENTSPRICECREATED_DATESTATUSVIEWS
B0001zkzkdh1캠핑의자가벼워요 깨끗한 상태입니다. 2개250002022-11-29SALE34
B0002miyeon89벽걸이 에어컨엘지 휘센 7평1000002022-11-29SALE55
B0003dhfkzmf09에어팟 맥스에어팟 맥스 스카이 블루 색상 판매합니다.4500002022-11-26DONE67
B0004sangjune1파파야나인 포르쉐 푸쉬카예민하신분은 피해주세요300002022-11-30DONE78
B0005zkzkdh1애플워치7애플워치7 실버 스텐 45미리 판매합니다.7000002022-11-30DONE99

USED_GOODS_USER 테이블이 다음과 같을 때

USER_IDNICKNAMECITYSTREET_ADDRESS1STREET_ADDRESS2TLNO
cjfwls91점심만금식성남시분당구 내정로 185501호01036344964
zkzkdh1후후후성남시분당구 내정로 35가동 1202호01032777543
spdlqj12크크큭성남시분당구 수내로 2062019동 801호01087234922
xlqpfh2잉여킹성남시분당구 수내로 1001-00401064534911
dhfkzmf09찐찐성남시분당구 수내로 13A동 1107호01053422914

SQL을 실행하면 다음과 같이 출력되어야 합니다.

USER_IDNICKNAMETOTAL_SALES
zkzkdh1후후후700000
SELECT UGU.USER_ID,
       UGU.NICKNAME,
       SUM(UGB.PRICE) AS TOTAL_SALES
FROM USED_GOODS_BOARD UGB INNER JOIN USED_GOODS_USER UGU 
ON UGB.WRITER_ID=UGU.USER_ID
WHERE UGB.STATUS = 'DONE'
GROUP BY UGU.USER_ID
HAVING SUM(UGB.PRICE) >= 700000
ORDER BY TOTAL_SALES

#문제를 꼼꼼히 읽자!
ORDER_BY 와 GROUP BY 설정 주의하기
profile
Data Analysis / 맨 땅에 헤딩

0개의 댓글