[SQL] 연습문제

멋쟁이펭귄맨·2021년 7월 31일
0

이 게시글은 패스트캠퍼스의 '데이터베이스와 SQLD 합격패스 Online' 강의를 요약한 내용입니다.


문제 1.

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가 명확하다.

문제 2.

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
;

profile
안녕하세요

0개의 댓글

관련 채용 정보