[손에 잡히는 10분 SQL - 벤 포터 지음, 박남혜 옮김] 책의 학습 후 정리자료입니다.
SELECT cust_name, cust_contact
FROM Customers C, Orders O, OrderItems OI
WHERE C.cust_id = O.cust_id
AND O.order_num = OI.order_num
AND prod_id = 'RGAN01';
Jim Jones
라는 사람과 같은 회사에서 일하는 모든 직원에게 메일을 보내는 방법SELECT cust_id, cust_name, cust_contact
FROM Customers
WHERE cust_name = (SELECT cust_name
FROM Customers
WHERE cust_contact = 'Jim Jones');
SELECT c1.cust_id, c1.cust_name, c1.cust_contact
FROM Customers c1, Customers c2
WHERE c1.cust_name = c2.cust_name
AND c2.cust_contact = 'Jim Jones';
SELECT C.*,
O.order_num,
O.order_date,
OI.prod_id,
OI.quantity,
OI.item_price
FROM Customers C, Orders O, OrderItems OI
WHERE C.cust_id = O.cust_id
AND OI.order_num = O.order_num
AND prod_id = 'RGAN01';
SELECT Customers.cust_id, Orders.order_num
FROM Customers INNER JOIN Orders
ON Customers.cust_id = Orders.cust_id;
SELECT Customers.cust_id, Orders.order_num
FROM Customers LEFT OUTER JOIN Orders
ON Customers.cust_id = Orders.cust_id;
cust_id = 1000000002
)도 포함한다.cust_id
)과 각각의 고객이 주문한 수량(order_num
의 개수)을 호출SELECT Customers.cust_id,
Count(Orders.order_num) AS ord_num
FROM Customers INNER JOIN Orders
ON Customers.cust_id = Orders.cust_id
GROUP BY Customers.cust_id;
SELECT Customers.cust_id,
Count(Orders.order_num) AS ord_num
FROM Customers LEFT OUTER JOIN Orders
ON Customers.cust_id = Orders.cust_id
GROUP BY Customers.cust_id;
Customers
테이블에 있는 cust_name
)과 고객의 모든 주문 번호(Orders
테이블 안에 있는 order_num
)를 가져오는 SQL 문을 작성하라.SELECT cust_name, order_num
FROM Customers INNER JOIN Orders
ON Customers.cust_id = Orders.cust_id;
SELECT cust_name, order_num
FROM Customers LEFT OUTER JOIN Orders
ON Customers.cust_id = Orders.cust_id;
Products
와 OrderItems
테이블을 결합하고 제품명(prod_name
)으로 정렬된 목록과 연관된 주문 번호(order_num
)를 가져오는 SQL 문을 작성하라.SELECT prod_name, order_num
FROM Products LEFT OUTER JOIN OrderItems
ON Products.prod_id = OrderItems.prod_id
ORDER BY prod_name;
SELECT prod_name, COUNT(order_num) AS orders
FROM Products LEFT OUTER JOIN OrderItems
ON Products.prod_id = OrderItems.prod_id
GROUP BY prod_name
ORDER BY prod_name;
Vendors
테이블에 있는 vend_id
) 목록과 판매처별로 구매 가능한 제품의 수를 가져오는 SQL 문을 작성하라. Products
테이블에서 각 제품의 수를 계산하기 위해 그룹 함수가 필요할 것이다. vend_id
열은 여러 테이블에 나타나므로 해당 열을 참조할 때는 충분한 주의를 기울이자.SELECT Vendors.vend_id, COUNT(prod_id)
FROM Products RIGHT OUTER JOIN Vendors
ON Products.vend_id = Vendors.vend_id
GROUP BY Vendors.vend_id;