K 개발자

조인 본문

데이터베이스/Oracle SQL

조인

ddingz 2021. 8. 22. 18:15

조인

조인join은 한 테이블의 행을 다른 테이블의 행에 연결하여 두 개 이상의 테이블을 결합하는 연산이다.


연습문제

-- 고객과 고객의 주문에 관한 데이터를 모두 보이시오.
SELECT *
FROM Customer, Orders
WHERE Customer.custid = Orders.custid;
-- 고객과 고객의 주문에 관한 데이터를 고객별로 정렬하여 보이시오.
SELECT *
FROM Customer INNER JOIN Orders ON Customer.custid = Orders.custid
ORDER BY Customer.custid;
-- 고객의 이름과 고객이 주문한 도서의 판매가격을 검색하시오.
SELECT name, saleprice
FROM Customer INNER JOIN Orders ON Customer.custid = Orders.custid;
-- 고객별로 주문한 모든 도서의 총판매액을 구하고, 고객별로 정렬하시오.
SELECT name, SUM(saleprice)
FROM Customer INNER JOIN Orders ON Customer.custid = Orders.custid
GROUP BY Customer.name
ORDER BY Customer.name;
-- 고객의 이름과 고객이 주문한 도서의 이름을 구하시오.
SELECT Customer.name, Book.bookname
FROM Customer, Orders, Book
WHERE Customer.custid = Orders.custid AND Orders.bookid = Book.bookid;
-- 가격이 20,000원인 도서를 주문한 고객의 이름과 도서의 이름을 구하시오.
SELECT Customer.name, Book.bookname
FROM (Customer INNER JOIN Orders ON Customer.custid = Orders.custid) INNER JOIN Book ON Orders.bookid = Book.bookid
WHERE Book.price = 20000;
-- 도서를 구매하지 않은 고객을 포함하여 고객의 이름과 고객이 주문한 도서의 판매가격을 구하시오.
SELECT Customer.name, saleprice
FROM Customer LEFT OUTER JOIN Orders ON Customer.custid = Orders.custid;

'데이터베이스 > Oracle SQL' 카테고리의 다른 글

집합연산  (0) 2021.08.22
부속질의  (0) 2021.08.22
GROUP BY 문  (0) 2021.08.22
집계 함수  (0) 2021.08.22
ORDER BY 절  (0) 2021.08.22
Comments