ITGenerations
디비 연습문제 본문
오라클로 배우는 데이터 베이스 개론과 실습
--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);
'Univ > 디비' 카테고리의 다른 글
오라클로 배우는 데이터베이스 개론과 실습 연습문제 5장 (1) | 2018.05.24 |
---|---|
2018_05_11 디비 수업자료 (0) | 2018.05.11 |
중간고사 (0) | 2018.05.04 |
오라클 데이터베이스 기본 개념 요약 정리 (0) | 2018.04.16 |
디비 연습문제 풀이 참고 블로그1 (0) | 2018.03.09 |