IT_DBMS/MSSQL

SQL test

JJun ™ 2006. 3. 10. 15:22

답은 드래그 하거나 ctrl+a를 눌러서 보세요!

 

==============================================================================

 

use test

 

[제품 테이블]

create table 제품(
제품번호 varchar(10),
제품명 varchar(10),
형 varchar(5),
단가 int)

 

 

[공장 테이블]

create table 공장(
공장번호 varchar(10),
제품명 varchar(10),
생산량 int,
주소 varchar(10))

 

 

[재고 테이블]

create table 재고(
창고번호 varchar(10),
제품번호 varchar(10),
재고량 int, 안전재고량 int,
주소 varchar(10))

 

select * from 제품
select * from 공장
select * from 재고

 

 

 

1 모든 제품에 대해 모든 정보를 구하여라


select * from 제품

 

 


2 제품명이 스테레오인 제품표의 모든 행의 정보를 구하라.


select * from 제품 where 제품명 = '스테레오'

 

 


3 단가가 50미만인 제품표의 모든 행의 정보를 구하라.


select * from 제품 where 단가 < 50

 

 


4 제품명이 스테레오 이외인 제품표의 모든 행의 정보를 구하라


select * from 제품 where 제품명 <> '스테레오'

 

 


5 단가가 150 이상 300 이하인 제품명과 형을 구하라


select 제품명, 형 from 제품 where 단가 between 150 and 300

 

 


6 문자 '라'로 시작되는 제품명과 그 형을 구하라.


select 제품명, 형 from 제품 where 제품명 like '라%'

 

 


7 어딘가에 문자 '레'를 내포하는 제품명과 형을 구하라


select 제품명, 형 from 제품 where 제품명 like '%레%'

 

 


8 최우의 문자가 '오'인 제품명과 형을 구하라


select 제품명, 형 from 제품 where 제품명 like '%오'

 

 


9 단가가 20 혹은 30 또는 50인 제품명과 그 형을 구하라.


select 제품명, 형 from 제품 where 단가 in (20,30,50)

 

 


10 단가가 20도 30도 50도 아닌 제품명과 그 형을 구하라.


select 제품명, 형 from 제품 where 단가 <>20 and 단가 <>30 and 단가 <> 50

 

 


11 단가가 100이상인 스테레오의 제품번호를 구하라.


select 제품번호 from 제품 where 제품명 = '스테레오' and 단가 >= 100

 

 


12 스테레오 이외에서 단가가 25 이상이고 50 이하인 제품명과 그 형을 구하라.


select 제품명, 형 from 제품

where 제품명 <> '스테레오' and 단가 between 25 and 50

 

 


13 제품표에 새로운 제품의 정보를 추가하라


insert into 제품 values ('S7','비디오','B',30)

 

 


14 공장의 모든 생산량을 2배로 하라


update 공장 set 생산량 = 생산량 * 2

 

 


15 제품번호 s1의 행을 삭제하라


 delete from 제품 where 제품번호 = 'S1'

 

 


16 공장표의 모든 행을 삭제하라


DELETE from 공장

 

 


17 공장에서 생산되고 있는 각 제품에 대해, 그 제품명와 총생산량을 구하라

select 제품명,sum(생산량) as 총생산량  from 공장
group by 제품명

 

 


18 부산이외의 공장에서 생산되고 있는 각 제품에 대해 그 제품명과 최대생산량을

    구하라


 

select 제품명,max(생산량) from 공장
where 주소<>'부산'
group by 제품명

 


 

19 공장에서 생산되고 있는 제품에 대해 총 생산량이 50이상인 건에 대해,

    그 제품명와 총 생산량을 구하라.

 

select 제품명,max(생산량) as 최대생산량 from 공장
where 주소<>'부산'
group by 제품명
having sum(생산량) >= 50

 


 

20 부산이외의 공장에서 생산되고 있는 각 제품 중 최대 생산량이 30미만인 것에 대해,

    그 제품명와 최대 생산량을 구하라.

 

select 제품명,max(생산량) as 최대생산량 from 공장
where 주소<>'부산'
group by 제품명
having max(생산량) < 30

 


 

21 서울공장의 최대 생산량이 40보다도 크면, 그 총생산량을 구하라.

 

select sum(생산량) as 총생산량 from 공장
group by 주소
having 주소 = '서울' and max(생산량) >40

 


 

22 각 공장에서 생산하고 있는 제품에 대해 공장에 관한 모든 정보와 제품에 관한

    모든 정보를 구하라

 

select * from 제품,공장
where 제품.제품번호 = 공장.제품명

select 제품.*, 공장.* from 제품,공장
where 제품.제품번호 = 공장.제품명

 


 

23 서울공장의 제품명와 생산량 및 그 제품의 모든 정보를 구하라

 

select a.제품번호,생산량,a.제품명,형,단가
from 제품 a, 공장 b
where a.제품번호=b.제품명 and 주소 = '서울'

 


24 대전의 제고제품의 이름과 그것을 생산하고 있는 공장번호를 구하라

 

select a.제품번호,b.공장번호
from 제품 a,공장 b,재고 c
where a.제품번호=c.제품번호 and a.제품번호=b.제품명 and c.주소 = '대전'

 


 

25 공장에서 생산되고 있는 각 제품에 대해 그 제품명, 형과 총 생산량을 구하라

 

select a.제품명, a.형, sum(생산량) as 총생산량 
from 제품 a, 공장 b
where a.제품번호 = b.제품명
group by a.제품명, a.형

 

 

 

'IT_DBMS > MSSQL' 카테고리의 다른 글

복제의 유형  (0) 2006.03.14
데이터 베이스 복구방법  (0) 2006.03.14
트리거 예제  (0) 2006.03.09
트리거(Trigger)  (0) 2006.03.09
사용자 정의 함수  (0) 2006.03.09