오라클 SQL 실습

DeokHun KIM·2022년 8월 8일
0

--(문제해결) 테이블 조인을 통해서 요청한 데이터 찾기
--실습 : '야구를 부탁해'라는 책이 팔린 내역을 확인(책제목, 판매금액, 판매일자)
--실습 : '야구를 부탁해'라는 책이 몇 권이 팔렸는지 확인
--실습 : '추신수'가 구입한 책값과 구입일자를 확인(책값, 구입일자)
--실습 : '추신수'가 구입한 합계금액을 확인
--실습 : 박지성, 추신수가 구입한 내역을 확인(이름, 구입(판매)금액, 구입(판매)일자)

--실습 : '야구를 부탁해'라는 책이 팔린 내역을 확인(책제목, 판매금액, 판매일자)
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  --찾을 조건은 마음대로
;

0개의 댓글