MSA/SQL

DAY.03

domsam 2025. 4. 16. 18:11
반응형

마당서점 샘플데이터

 

Q-01. 책이름이 '축구의 역사'인 책의 출판사와 가격을 표시해 주세요.

Q-02. 이름이 '김연아'인 고객의 휴대폰번호를 표시해 주세요.

Q-03. 모든 국내 도서의 이름과 가격을 검색하시오. 

Q-04. 모든 도서의 도서번호, 도서이름, 출판사, 가격을 검색하시오.

Q-05. 도서 테이블에 있는 모든 출판사를 검색하시오. (중복제거)

Q-06. 가격이 20,000원 미만인 도서를 검색하시오.

Q-07. 가격이 10,000원 이상 20,000원 이하인 도서를 검색하시오. 

Q-08. 출판사가 '굿스포츠' 혹은 '대한미디어'인 도서를 검색하시오.

Q-09. '축구의 역사'를 출간한 출판사를 검색하시오.

Q-10. 도서이름에 '축구'가 포함된 책이름과 출판사를 검색하시오.

Q-11. 도서이름의 왼쪽 두 번째 위치에 '구'라는 문자열을 갖는 도서를 검색하시오.

Q-12. 도서이름에 '축구'가 들어가는 도서 중 20,000원 이상인 도서를 검색하시오.

Q-13. 도서를 도서명 기준으로 내림차순으로 정렬해 주세요.

Q-14. 도서를 가격순으로 검색하고, 가격이 같으면 이름순으로 검색하시오.

Q-15. 도서를 가격의 내림차순으로 검색하시오. 가격이 같다면 출판사를 오름차순으로 출력하시오.

Q-16. 고객이 주문한 도서의 총판매액을 구하시오.

Q-17. 2번 고객 (김연아) 고객이 주문한 도서의 총판매액을 구하시오.  

 

 

/* p.135 */

-- Q-01. 책이름이 '축구의 역사'인 책의 출판사와 가격을 표시해 주세요.
SELECT publisher, price  
FROM book
WHERE bookname = '축구의 역사';

-- Q-02. 이름이 '김연아'인 고객의 휴대폰번호를 표시해 주세요.
SELECT phone
FROM customer
WHERE NAME = '김연아';

-- Q-03. 모든 국내 도서의 이름과 가격을 검색하시오. 
SELECT bookname, price
FROM book;

SELECT bookname, price
FROM imported_book;


SELECT bookname, price
FROM book

UNION ALL

SELECT bookname, price
FROM imported_book;

-- Q-04. 모든 도서의 도서번호, 도서이름, 출판사, 가격을 검색하시오.
SELECT *
FROM book;

SELECT bookid, bookname, publisher, price
FROM book;

-- Q-05. 도서 테이블에 있는 모든 출판사를 검색하시오. (중복제거)
SELECT DISTINCT publisher
FROM book;

-- Q-06. 가격이 20,000원 미만인 도서를 검색하시오.
SELECT *
  FROM book
 WHERE price < 20000;
 
-- Q-07. 가격이 10,000원 이상 20,000원 이하인 도서를 검색하시오. 
SELECT *
FROM book
WHERE price BETWEEN 10000 AND 20000;

SELECT *
FROM book
WHERE price >= 10000 AND price <= 20000;

-- Q-08. 출판사가 '굿스포츠' 혹은 '대한미디어'인 도서를 검색하시오.
SELECT *
  FROM book
 WHERE publisher IN ('굿스포츠', '대한미디어');

SELECT *
  FROM book
 WHERE publisher = '굿스포츠'
    OR publisher = '대한미디어';

-- Q-09. '축구의 역사'를 출간한 출판사를 검색하시오.
SELECT publisher
FROM book
WHERE bookname = '축구의 역사';

SELECT publisher
FROM book
WHERE bookname LIKE '축구의 역사';

-- Q-10. 도서이름에 '축구'가 포함된 책이름과 출판사를 검색하시오.
SELECT bookname, publisher
FROM book
WHERE bookname LIKE '%축구%';

-- Q-11. 도서이름의 왼쪽 두 번째 위치에 '구'라는 문자열을 갖는
--      도서를 검색하시오.\
SELECT *
FROM book
WHERE bookname LIKE '_구%';

-- Q-12. 도서이름에 '축구'가 들어가는 도서 중 20,000원 이상인 도서를
--       검색하시오.
SELECT *
  FROM book
 WHERE bookname LIKE '%축구%'
   AND price >= 20000;

-- Q-13. 도서를 도서명 기준으로 내림차순으로 정렬해 주세요.    
SELECT *
FROM book
ORDER BY bookname DESC;

-- Q-14. 도서를 가격순으로 검색하고, 가격이 같으면 이름순으로 검색하시오.
SELECT *
FROM book
ORDER BY price, bookname;

-- Q-15. 도서를 가격의 내림차순으로 검색하시오. 가격이 같다면 출판사를
--       오름차순으로 출력하시오.
SELECT *
FROM book
ORDER BY price DESC, publisher ASC;

-- Q-16. 고객이 주문한 도서의 총판매액을 구하시오.
SELECT SUM(saleprice), COUNT(1)
  FROM orders;
  
-- Q-17. 2번 고객 (김연아) 고객이 주문한 도서의 총판매액을 구하시오.  
SELECT SUM(saleprice), COUNT(1)
  FROM orders
 WHERE custid = 2;