«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

ITGenerations

디비 연습문제 본문

Univ/디비

디비 연습문제

ITGenerations 2018. 4. 20. 00:16

오라클로 배우는 데이터 베이스 개론과 실습



--5 박지성이 구매한 도서의 출판사 수

SELECT count(publisher) as total0

FROM orders, book, customer

WHERE orders.custid=customer.custid and book.bookid=orders.bookid and customer.name='박지성';


--6 박지성이 구매한 도서의 이름, 가격, 정가와 판매가겨의 차이

SELECT bookname,price,price-saleprice as p_s

FROM orders, book, customer

WHERE orders.custid=customer.custid and book.bookid=orders.bookid and customer.name='박지성';


--7 박지성이 구매하지 않은 도서의 이름

SELECT bookname

FROM book, orders,customer

WHERE orders.custid=customer.custid and book.bookid=orders.bookid and name <> '박지성';



--8 주문하지 않은 고객의 이름 부속질의 사용

SELECT name

FROM customer

WHERE custid not in (SELECT custid from orders);


--9

SELECT sum(saleprice) as sum, avg(saleprice) as avg

from orders;


--10. 고객의 이름과 고객별 구매액

SELECT name, sum(saleprice) as saleprice

FROM orders o, customer c

WHERE c.custid=o.custid 

GROUP BY name;


--11.  고객의 이름과 고객이 구매한 도서 목록

SELECT name, bookname

FROM customer, book, orders

WHERE orders.custid=customer.custid and book.bookid = orders.bookid

ORDER BY name;


--12. 도서의 가격(Book 테이블)과 판매가격(Orders 테이블)의 차이가 가장 많은 주문

SELECT max(price-saleprice),min(price-saleprice)

FROM book, orders

WHERE book.bookid=orders.bookid;


--13. 도서의 판매액 평균보다 자신의 구매액 평균이 더 높은 고객의 이름

select name 

from ( select name, avg(saleprice) as avg 

    from customer, orders

    where customer.custid = orders.custid 

    group by name) 

where avg >= (select avg(saleprice) from orders);