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 |