5월8일 DBMS

--슬라이드 67
select * from goods
select * from sales
--예제 : 현재 재고량보다 판매량이 더 많은 상품품목을 검색
--현재 재고량과 판매량을 검색
select g.gid, gname, stock '보유량', sum(amount) '판매량'
from goods g, sales s
where g.gid=s.gid
group by g.gid, gname, stock
--현재 재고량보다 판매량이 많은 상품검색
select g.gid, gname, stock '보유량', sum(amount) '판매량'
from goods g, sales s
where g.gid=s.gid
group by g.gid, gname, stock
having stock < sum(amount)
--67-1 판매결과 품목별 전재고량, 판매량, 그리고 현재고량을 구하시오
-- 전재고량은 판매된 것과 현재 보유하고 있는 재고량의 합계를 의미함
select goods.gid as 상품번호, gname as 상품명, (sum(amount)+stock) as '총재고량(판매+현재보유)', sum(amount) as 판매량, stock as 현재고량
from goods, sales
where goods.gid=sales.gid
group by goods.gid, gname, stock
--67-2 판매결과

--68예제 회원번호 '7788'이 거주하는 지역이 아닌 지역을 검색하시오
select * from members
select * from location
select * from sales
select * from class
select uid, uname, m.ddd, l.ddd, l.lname
from members m, location l
where m.ddd <> l.ddd and m.uid='7788'
--68-1 회원번호 '7839'가 현재 거주하는 지역이 아닌 지역을 검색하시오
select uid, uname, m.ddd, l.ddd, l.lname
from members m, location l
where m.ddd <> l.ddd and m.uid='7839'
--68-2 회원번호 '7839'회원의 등급과 다른 등급의 할인율을 검색하시오
select c.cname, c.dc
from members m, class c
where m.cname <> c.cname and m.uid='7839'
--슬라이드 69 외부조인
--예제 : 지역 테이블의 모두를 포함한 회원현황을 검색
select * from members
select * from location
select uid, uname, age, phone, location.*
from members, location
where members.ddd =* location.ddd
/* 좌측 외부조인(left outer join) : *=
   우측 외부조인(right outer join) : =*
   모든 외부조인(all outer join) : *=*
*/
--70-1 회원번호 7934회원과 같은 회원등급의 회원을 검색하시오
select b.uid, b.uname '이름', b.cname '회원등급'
from members a, members b
where a.cname = b.cname and a.uid='7934'
--70-2 회원번호 7328회원과 같은 지역에 거주하는 회원을 검색하시오
select b.uid, b.uname '이름', b.ddd '지역번호'
from members a, members b
where a.ddd=b.ddd and a.uid='7328'
--70-3 상품코드가 A01과 같은 재고량의 상품품목을 검색하시오
select b.gname, b.stock, b.gid
from goods a, goods b
where a.stock = b.stock and a.gid='A01'
insert into members(uid, uname, age, email, ddd, phone, cname)
values(7999, '연정화', 20 , 'jhy@hotmail.com', '031', '720-2155', '보통')
insert into members
values(7070, '최고참', 30, 'go@hanmail.net' , '032', '882-6674', '보통')
insert into members
values(7771, '이종화', 24, 'hayashu18@naver.com' , ' 02', '428-9917', '보통')
select * from members
--다른 테이블의 검색결과를 토대로 삽입하기
--테이블 삭제하기 원인은 --> 만들고자 하는 테이블이 있으면 먼저 삭제함
drop table pers
go
--테이블 만들기
create table pers (
uid            INT,
uname     CHAR(10),
email       CHAR(30),
phone     CHAR(13),
age         TINYINT
)
go

--만들어진 테이블에 다른 테이블에서 검색한 결과를 삽입해보기
select * from pers
insert into pers
values(1111, '이종화', 'hayashi18@naver.com' , ' 02-428-9917', 24 )
insert into pers
values(2222, '최영기', 'iibwebmaster@iib.com' , NULL , 34 )
insert into pers
values(3333, '최도현', 'cdhgod0@iib.com' , NULL , 12 )
insert into pers
values(3333, '김도성', 'sudokim@iib.com' , NULL , 24 )

update members set age=24
where uname='이종화54살'

by 해오른누리 | 2006/05/08 12:51 | │기타 | 트랙백 | 덧글(2)

트랙백 주소 : http://hayashi18.egloos.com/tb/1929326
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by 해오른누리 at 2006/05/15 10:35
내가 내가 아닌데......너는 니가 너인지 아느냐
Commented by 최도현 at 2009/06/27 05:07
종화야 내 아이디 db 삽입 부분에 이름하고 나와있다 수정좀 해라 개인정보 유출이다.

:         :

:

비공개 덧글

◀ 이전 페이지 다음 페이지 ▶