이 게시글은 패스트캠퍼스의 '데이터베이스와 SQLD 합격패스 Online' 강의를 요약한 내용입니다.
PRODUCTS 테이블에서 LIST_PRICE의 가격이 평균 가격보다 큰 행(집합)의 PRODUCT_ID, PRODUCT_NAME, LIST_PRICE 컬럼을 구하는 SELECT문을 작성하고 PRODUCT_NAME으로 정렬하라.
내 정답
SELECT
PRODUCT_ID
,PRODUCT_NAME
,LIST_PRICE
FROM PRODUCTS
WHERE LIST_PRICE > (SELECT AVG(LIST_PRICE) FROM PRODUCTS)
ORDER BY 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;
FROM 명령어를 통해 가져오는 TABLE을 치환하는 경우 QUERY가 명확하다.
CUSTOMERS 테이블에서 CREDIT_LIMIT의 값이 가장 큰 10건의 행을 출력하라.
(단, CUSTOMERS 테이블의 모든 칼럼을 출력하고 CREDIT_LIMIT이 동일하다면 NAME을 칼럼을 기준으로 오름차순으로 정렬하여 출력하라)
내 정답
SELECT *
FROM (
SELECT * FROM CUSTOMERS K
ORDER BY K.CREDIT_LIMIT DESC, K.NAME ASC)
WHERE ROWNUM <= 10;
정답 쿼리
SELECT *
FROM (
SELECT *
FROM CUSTOMERS c
ORDER BY CREDIT_LIMIT DESC, NAME ASC
)
WHERE ROWNUM <= 10
;