마당서점의 고객이 요구하는 다음 질문에 대해 SQL 문 작성
SELECT COUNT(DISTINCT publisher) AS `출판사 수`
FROM book
WHERE bookid IN (SELECT bookid
FROM orders
WHERE custid IN (SELECT custid
FROM customer
WHERE name = '박지성'));
SELECT b.bookname AS '책 이름', b.price AS '정가', o.saleprice AS '판매가',
b.price - o.saleprice AS '정가와 판매가 차이'
FROM orders o
JOIN book b
ON o.bookid = b.bookid
WHERE o.custid IN (SELECT custid
FROM customer
WHERE name = '박지성');
SELECT *
FROM book b
WHERE NOT EXISTS (SELECT bookname
FROM orders o
WHERE o.orderid = b.bookid
AND o.custid = (SELECT custid
FROM customer
WHERE name = '박지성'));
마당서점의 운영자와 경영자가 요구하는 다음 질문에 대해 SQL 문 작성
SELECT name
FROM customer
WHERE custid NOT IN (SELECT custid
FROM orders);
SELECT name
FROM customer
WHERE NOT EXISTS (
SELECT custid
FROM orders
WHERE customer.custid = orders.custid);
SELECT SUM(saleprice) AS `주문 총액`, ROUND(AVG(saleprice)) AS '주문 평균금액'
FROM orders;
SELECT name, SUM(saleprice)
FROM customer
JOIN orders
ON customer.custid = orders.custid
group by 1;
SELECT c.name, b.bookname
FROM orders o
JOIN customer c
ON o.custid = c.custid
JOIN book b
ON o.bookid = b.bookid;
SELECT *, price - saleprice
FROM orders
JOIN book
ON orders.bookid = book.bookid
ORDER BY price - saleprice DESC
LIMIT 1;
SELECT *
FROM book
JOIN orders
ON book.bookid = orders.bookid
WHERE price - saleprice LIKE (
SELECT MAX(price - saleprice)
FROM book
JOIN orders
ON book.bookid = orders.bookid);
SELECT name
FROM customer
JOIN orders
ON customer.custid = orders.custid
GROUP BY customer.name, customer.custid
HAVING AVG(orders.saleprice) > (SELECT AVG(saleprice)
FROM orders);