--(문제해결) 테이블 조인을 통해서 요청한 데이터 찾기
--실습 : '야구를 부탁해'라는 책이 팔린 내역을 확인(책제목, 판매금액, 판매일자)
--실습 : '야구를 부탁해'라는 책이 몇 권이 팔렸는지 확인
--실습 : '추신수'가 구입한 책값과 구입일자를 확인(책값, 구입일자)
--실습 : '추신수'가 구입한 합계금액을 확인
--실습 : 박지성, 추신수가 구입한 내역을 확인(이름, 구입(판매)금액, 구입(판매)일자)
--실습 : '야구를 부탁해'라는 책이 팔린 내역을 확인(책제목, 판매금액, 판매일자)
SELECT B.BOOKNAME, O.SALEPRICE, O.ORDERDATE
FROM BOOK B, ORDERS O
WHERE B.BOOKID = O.BOOKID
AND B.BOOKNAME = '야구를 부탁해'
;
--표준 SQL
SELECT B.BOOKNAME, O.SALEPRICE, O.ORDERDATE
FROM ORDERS O INNER JOIN BOOK B ON O.BOOKID = B.BOOKID
WHERE BOOKNAME = '야구를 부탁해';
--실습 : '야구를 부탁해'라는 책이 몇 권이 팔렸는지 확인
SELECT COUNT(*)
FROM BOOK B, ORDERS O
WHERE B.BOOKID = O.BOOKID
AND B.BOOKNAME = '야구를 부탁해'
;
--실습 : '추신수'가 구입한 책값과 구입일자를 확인(책값, 구입일자)
SELECT C.NAME, O.SALEPRICE, O.ORDERDATE
FROM CUSTOMER C, ORDERS O
WHERE C.CUSTID = O.CUSTID
AND C.NAME = '추신수'
;
--표준SQL
SELECT C.NAME, O.SALEPRICE, O.ORDERDATE
FROM CUSTOMER C INNER JOIN ORDERS O --조인테이블
ON C.CUSTID = O.CUSTID --조인조건
WHERE C.NAME = '추신수'
;
--실습 : '추신수'가 구입한 합계금액을 확인
SELECT SUM(O.SALEPRICE) AS SUM_PRICE
FROM CUSTOMER C, ORDERS O
WHERE C.CUSTID = O.CUSTID
AND C.NAME = '추신수'
;
--실습 : 박지성, 추신수가 구입한 내역을 확인(이름, 구입(판매)금액, 구입(판매)일자)
SELECT C.NAME, O.SALEPRICE, O.ORDERDATE
FROM CUSTOMER C, ORDERS O
WHERE C.CUSTID = O.CUSTID
AND (C.NAME = '추신수' OR C.NAME = '박지성') -- C.NAME IN ('박지성','추신수')
;
--3개 테이블 조인하기 : CUSTOMER, BOOK, ORDERS A=B, A=C -> B=C
--고객명, 책제목, 판매가격, 판매일자, 출판사명 (3개 테이블 조인)
-- O = B, O = C 연결방식
SELECT C.NAME, B.BOOKNAME, O.SALEPRICE, O.ORDERDATE, B.PUBLISHER
FROM ORDERS O, BOOK B, CUSTOMER C --조인테이블
WHERE O.BOOKID = B.BOOKID --조인조건
AND O.CUSTID = C.CUSTID --조인조건
ORDER BY ORDERDATE
;
<표준 SQL>
SELECT C.NAME, B.BOOKNAME, O.SALEPRICE, O.ORDERDATE, B.PUBLISHER
FROM ORDERS O INNER JOIN BOOK B
ON O.BOOKID = B.BOOKID
INNER JOIN CUSTOMER C
ON O.CUSTID = C.CUSTID
ORDER BY SALEPRICE DESC --찾을 조건은 마음대로
;