반응형
이거는 테이블이 있어야 확실하게 이해도 가고 실행도 시킬 수 있습니다.
제가 테이블을 따로 올리지는 않았으니, 문법이 이런 것이 있다 정도만 기억하고 보시면 될 거 같습니다.
use madangdb;
select * from booktbl;
select * from customertbl;
select * from orderstbl;
-- ①가격이 20,000원 미만인 도서를 검색
select price from booktbl where price < 20000;
-- ②가격이 10,000원 이상 20,000 이하인 도서를 검색
select price from booktbl where price <= 20000 and price >=10000;
select price from booktbl where price between 10000 and 20000;
-- ③출판사가 ‘굿스포츠’ 혹은 ‘대한미디어’인 도서를 검색
select publisher from booktbl where publisher = '대한미디어';
select publisher from booktbl where publisher in( '대한미디어', '굿스포츠');
-- ④출판사가 ‘굿스포츠’ 혹은 ‘대한미디어’가 아닌 도서를 검색
select publisher from booktbl where publisher not in( '대한미디어', '굿스포츠');
-- ⑤‘축구의 역사’를 출간한 출판사를 검색
select bookname, publisher from booktbl where bookname ='축구의 역사';
-- ⑥도서이름에 ‘축구’가 포함된 출판사를 검색
select bookname, publisher from booktbl where bookname like '축구%';
-- ⑦도서이름이 여섯글자인 도서를 검색, 프로그래밍에서는 문자열로 인식할 것
select bookname from booktbl where bookname like '______' ;
-- ⑧도서이름의 왼쪽 두 번째 위치에 ‘구’라는 문자열을 갖는 도서를 검색
select bookname from booktbl where bookname like '_구%';
-- ⑨축구에 관한 도서 중 가격이 20,000원 이상인 도서를 검색
select bookname , price from booktbl where bookname like '축구%' and price >=2000;
-- ⑩야구에 관한 책을 모두 구입하려면 필요한 금액을 계산
--
select sum(price) from booktbl where bookname like '야구%';
-- ⑪도서를 가격순으로 검색하고, 가격이 같으면 이름순으로 검색
select bookname, price from booktbl order by price, bookname;
-- ⑫도서를 가격의 내림차순으로 검색하고 만약 가격이 같다면 출판사의 오름차순으로 검색
select bookname, price from booktbl order by price desc , publisher;
-- ⑭ 고객이 주문한 도서의 총 판매액 조회
select sum(saleprice) from orderstbl ;
-- ⑮ 2번 김연아 고객이 주문한 도서의 총 판매액 조회
select sum(saleprice) from orderstbl where cusid = 2;
-- 16) 고객이 주문한 도서의 총 판매액, 평균값, 최저가, 최고가 조회
select cusid, sum(saleprice), avg(saleprice), min(saleprice), max(saleprice)
from orderstbl group by cusid;
-- 17) 마당서점의 도서 판매 건수 조회
select count(*) from orderstbl;
-- 만약에 특정 기준으로 행의 개수를 세고 싶다면??
select count(*) from orderstbl group by cusid;
-- 18) 고객별로 주문한 도서의 총 수량과 총 판매액 조회
select count(*), sum(saleprice) from orderstbl group by cusid;
-- 19) 가격이 8,000원 이상인 도서를 구매한 고객에 대하여 고객별 주문 도서의 총 수량을 구하시오. 단, 두 권 이상 구매한 고객만 조회
select cusid, count(*) from orderstbl where saleprice>= 8000 group by cusid
having count(*) >=2;
반응형
'It Study > 프로그래밍 공부' 카테고리의 다른 글
데이터베이스 procedure 연습 예제 (0) | 2024.09.24 |
---|---|
데이터베이스 기본 용어 간단 정리 및 기본문법 (0) | 2024.09.23 |
mySQL 기본 예제(데이터베이스 생성 및 테이블 생성) (2) | 2024.09.23 |
mySql 기본 연습 select * from,create, insert into, (0) | 2024.09.20 |
프로그래머스 lv0 - 두 수의 곱 (0) | 2024.09.16 |