SQL

연습문제풀이

peach_h 2022. 10. 5. 23:15
PRODUCTS 테이블에서 LIST_PRICE의 가격이 평균 가격보다 큰 행(집합)의 PRODUCT_ID,  PRODUCT_NAME, LIST_PRICE 컬럼을 구하는 SELECT문을 작성하고 PRODUCT_NAME으로 정렬하라.
SELECT A.PRODUCT_ID, A.PRODUCT_NAME, A.LIST_PRICE
    FROM PRODUCTS A
    WHERE A.LIST_PRICE > (
        SELECT AVG(K.LIST_PRICE)
             FROM PRODUCTS k)
    ORDER BY A.PRODUCT_NAME;

먼저 AVG(LIST_PRICE) 구하는 서브쿼리를 이용하여 풀어야했음.

그리고 메인 쿼리에서 PRODUCT_NAME으로 정렬함.

 

 

 

CUSTOMERS 테이블에서 CREDIT_LIMIT의 값이 가장 큰 10건의 행을 출력하라.
(단, CUSTOMERS 테이블의 모든 컬럼을 출력하고 CREDIT_LIMIT이 동일하다면 NAME을 컬럼을 기준으로 오름차순 정렬로 출력하라)
SELECT *
    FROM (
        SELECT *
         FROM CUSTOMERS
        	ORDER BY CREDIT_LIMIT DESC, NAME ASC)
    WHERE ROWNUM <=10;

FROM에 테이블 명이 없다 ? =>INLINE뷰 서브 쿼리

우선 CUSTOMERS 테이블에서 CREDIT_LIMIT은 내림차순, NAME은 오름차순으로 정렬

메인쿼리에서 10개만 뽑아냄

 

 

 

오 ㅏ.. 직접 문제를 풀어보니까 진짜 코드가 안쳐진다.

그냥 강의볼때는 자신만만했는데 ㅋ..

서브쿼리 진짜 쉽지 않은 것 같다 ..

'SQL' 카테고리의 다른 글

DA# 데이터 모델링 실습  (0) 2022.10.09
트랜잭션  (0) 2022.10.09
서브 쿼리  (0) 2022.10.05
VIEW  (0) 2022.10.05
INSERT / UPDETE / DELETE  (1) 2022.10.05