数据库实验答案.docx
- 文档编号:4747012
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:23
- 大小:18.52KB
数据库实验答案.docx
《数据库实验答案.docx》由会员分享,可在线阅读,更多相关《数据库实验答案.docx(23页珍藏版)》请在冰豆网上搜索。
数据库实验答案
1)找出MGMstudios的地址。
select地址
from制片公司
where公司名称='MGMstudios'
2)找出SandraBullock的出生日期。
select生日
from电影明星
where姓名='SandraBullock'
3)找出在2003年拍摄过电影的所有影星,或者拍摄过电影中含有"天空"的电影的所有明星。
select演员姓名
$
from演员参演电影
where拍摄年份=2003or电影名称like'%天空%'
4)找出净资产至少1000万美元的所有行政长官。
select姓名
from制片人与行政总裁
where资产>=
5)找出所有的男影星或者是住址中含有Malibu的影星。
select姓名
from电影明星
where地址like'Malibu'or性别like'男'
@
1)电影"加勒比海盗4"中的男影星都有谁。
select姓名
from电影明星
where性别='男'and姓名in
(
select演员姓名
from演员参演电影
where电影名称='加勒比海盗4'
)
2)谁是米高梅制片公司的总裁。
{
select姓名
from制片人与行政总裁
where身份证号=
(select行政总裁
from制片公司
where公司名称='MGMstudios'
)
4)那些电影比《乱世佳人》更长。
select电影名称
from电影
[
where长度>
(
select长度
from电影
where电影名称='乱世佳人'
)
5)那些行政长官比Tom更富有。
select姓名
from制片人与行政总裁
where资产>
^
(
select资产
from制片人与行政总裁
where姓名='Tom'
)
1、找出价格低于6000元的PC计算机型号、速度、以及硬盘容量。
select型号,速度,硬盘容量
fromPC电脑
where价钱<6000
?
2、同上要求,另外将"速度"改名为"兆赫",将"硬盘"改名为"G字节"。
select型号,速度兆赫,硬盘容量G字节
fromPC电脑
where价钱<6000
3、找出打印机的制造商。
select制造商
from产品
where产品类型='打印机'
4、找出价格高于2000元的"便携式电脑"的型号、内存容量及屏幕大小。
select型号,内存,屏幕大小
[
from便携式电脑
where价钱>6000
5、从"打印机"关系中找出所有彩色打印机的元组。
select*
from打印机
where是否彩色='是'
6、找出具有300GB以上的硬盘容量而价格低于2000元的所有个人计算机的型号、速度及硬盘。
select型号,速度,硬盘容量
fromPC电脑
where硬盘容量>300and价钱<6000
【
1、找出配置了容量至少为300GB硬盘的便携式电脑的制造商及其速度。
select制造商,速度
from产品,便携式电脑
where产品型号=便携式电脑.型号and硬盘>300
2、找出由生产厂商"苹果"生产的所有产品的型号和价格。
select型号,价钱
fromPC电脑
where型号in
(
select产品型号
|
from产品
where制造商='苹果'
)
union
select型号,价钱
from便携式电脑
where型号in
(
select产品型号
from产品
】
where制造商='苹果'
)
union
select型号,价钱
from打印机
where型号in
(
select产品型号
from产品
where制造商='苹果'
、
)
3、找出所有出售"便携式电脑"(而不出售PC)的生产厂商。
select制造商
from产品
where产品类型LIKE'便携式电脑'and制造商notin
(
select制造商
from产品
where产品类型LIKE'PC电脑'or产品类型LIKE'打印机'
)
—
4、找出在两种或两种以上PC上出现的硬盘容量。
select硬盘容量
fromPC电脑
groupby硬盘容量
havingcount(*)>=2
5、找出拥有相同速度和内存的PC的成对的型号。
selectdistinctQ.型号,P.型号
fromPC电脑Q,PC电脑P
whereQ.速度=P.速度andQ.内存=P.内存andQ.型号
1、找出速度至少为1500MHz的"PC电脑"制造商。
("=any"和"in")
,
selectdistinct制造商
from产品
where产品类型='PC电脑'and产品型号in
(
select型号
fromPC电脑
where速度>=1500
)
2、找出价格最高的打印机。
(注意">all"和">any"的区别)(">=all"和"=max()")
select型号
【
from打印机
where价钱>=all
(
select价钱
from打印机
)
3、找出速度低于任何PC的便携式电脑。
(注意" select型号 from便携式电脑 where速度 】 ( select速度 fromPC电脑 ) 4、找出具有最高价格的机器(PC,便携式电脑或打印机)的型号。 select型号 fromPC电脑 where价钱= ( selectMAX(价钱) < fromPC电脑 ) union select型号 from便携式电脑 where价钱= ( selectMAX(价钱) from便携式电脑 ) } union select型号 from打印机 where价钱= ( selectMAX(价钱) from打印机 ) 5、找出具有最低价格的彩色"打印机"的制造商。 ("=any和in""<=all和MIN()") select制造商 … from产品 where产品型号=any ( select型号 from打印机 where价钱<=all ( select价钱 from打印机 where是否彩色='是' " ) ) 6、找出在具有最小内存容量的所有PC中,具有最快处理器的PC制造商。 select制造商 from产品 where产品型号=any ( select型号 fromPC电脑 where速度= 《 ( selectMAX(速度) fromPC电脑 where内存<=all ( select内存 fromPC电脑 ) ) and内存in ~ ( selectmin(内存) frompc电脑 ) ) select制造商 from产品 where产品型号in ( select型号 ] fromPC电脑 where速度= ( selectMAX(速度) fromPC电脑 where内存= ( selectMIN(内存) fromPC电脑 ) 。 ) and内存in ( selectMIN(内存) frompc电脑 ) ) select制造商 from产品,PC电脑 where产品.产品型号=PC电脑.型号and % PC电脑.速度= ( selectMAX(速度) fromPC电脑 where内存<=all ( select内存 fromPC电脑 ) ) < and内存in ( selectmin(内存) frompc电脑 ) createviewvproduct(制造商,产品型号,产品类型,价钱,速度) as select制造商,产品型号,产品类型,价钱,速度 from产品,PC电脑 where产品.产品型号=PC电脑.型号 , union select制造商,产品型号,产品类型,价钱,速度 from产品,便携式电脑 where产品.产品型号=便携式电脑.型号 1、找出销售便携式电脑但不销售PC的厂商。 select制造商 fromvproduct where产品类型LIKE'便携式电脑'and制造商notin (select制造商 from产品 — where产品类型LIKE'PC电脑'or产品类型LIKE'打印机' ) 2、找出至少生产两种不同的计算机(PC或便携式电脑)且极其速度至少为133的厂商。 selectdistinct制造商 fromvproduct where速度>133and产品类型LIKE'PC电脑'or产品类型LIKE'便携式电脑'and制造商in (selectmin(制造商) fromvproduct groupby制造商 havingCOUNT(产品型号)>=2) { 3、找出生产最高速度的计算机(PC电脑或便携式电脑)厂商。 selectdistinct制造商 fromvproduct where速度>133and产品类型LIKE'PC电脑'or产品类型LIKE'便携式电脑'and制造商in (selectmin(制造商) fromvproduct groupby制造商 havingCOUNT(产品型号)>=2) createview最高速度1 ~ as selectdistinct制造商 from产品,PC电脑 where产品.产品型号=PC电脑.型号 and速度= ( selectMAX(速度) fromPC电脑 ) union / selectdistinct制造商 from产品,便携式电脑 where产品.产品型号=便携式电脑.型号 and速度= ( selectMAX(速度) from便携式电脑 ) 4、找出至少生产三种不同速度PC的厂商。 selectdistinct制造商 ) fromvproduct where产品类型LIKE'PC电脑'and制造商in (selectmin(制造商) fromvproduct groupby产品类型 havingcount(速度)>=3) 5.找出只卖三种不同型号的PC的厂商。 createview三种 as select制造商 《 from产品A whereA.产品型号=any ( select型号 fromPC电脑 ) ANDA.制造商notin ( selectB.制造商 from产品B ~ where产品类型='便携式电脑'or产品类型='打印机' ) GROUPBY制造商 havingcount(*)=3 createviewvproduct3(制造商,产品型号,产品类型) as select制造商,产品型号,产品类型 from产品 where制造商notin (select制造商 · from产品 where产品类型LIKE'便携式电脑'or产品类型LIKE'打印机' ) select制造商 fromvproduct3 groupby制造商 havingcount(产品型号)>=2 selectavg(速度) fromPC电脑 selectavg(速度) & from便携式电脑 where价钱>2500 selectavg(价钱) fromPC电脑 where型号in (select产品型号 from产品 where制造商='A' ) 实验六 ^ 1)找出PC的平均速度。 selectAVG(速度) fromvproduct3 where产品类型='PC电脑' 2)找出价格超过2500美元的便携式电脑的平均速度。 selectAVG(速度) fromvproduct3 where产品类型='便携式电脑'and价钱>2500 3)找出厂商A生产PC的平均价格。 selectAVG(价钱) 《 fromvproduct3 where制造商='A'and产品类型='PC电脑' 4)找出厂商D生产的PC和便携式电脑的平均价格。 selectAVG(价钱) fromvproduct3 where制造商='D' (5)找出各种不同速率的pc的平均价格 createviewfive as select价钱,速度 【 fromPC电脑 select速度,AVG(价钱)as平均价钱 fromfive groupby速度 直接查询 select速度,AVG(价钱) fromPC电脑 groupby速度 6)找出各厂商生产的便携式电脑的显示器平均尺寸。 createviewvproduct4(制造商,产品型号,速度,价钱,屏幕大小) @ as select制造商,产品型号,速度,价钱,屏幕大小 from产品,便携式电脑 where产品.产品型号=便携式电脑.型号 select制造商,AVG(屏幕大小) fromvproduct4 groupby制造商 7)找出生产三种不同型号的PC的厂商。 createviewvproduct5(制造商,产品型号,产品类型,价钱) as # select制造商,产品型号,产品类型,价钱 from产品,PC电脑 where产品.产品型号=PC电脑.型号 select制造商 fromvproduct5 groupby制造商 havingcount(产品型号)=3 8)找出各厂商生产的PC的最高价格。 select制造商,MAX(价钱) fromvproduct5 ] groupby制造商 9)找出速度超过150MHz的各种速度的PC的平均价格。 selectAVG(速度) fromvproduct3 where产品类型='PC电脑'and速度>150 10)找出所有生产打印机的厂商生产PC的硬盘平均容量。 createviewnow as select制造商,产品型号 ~ from产品 where制造商in (select制造商 from产品 where产品类型='打印机') and产品类型='PC电脑' createviewnow1 as select制造商,产品型号,硬盘容量 fromnow,PC电脑 { wherenow.产品型号=PC电脑.型号 selectavg(硬盘容量)平均硬盘容量 fromnow1 实验七 1) createprocedureP1 @制造商char(10),@产品型号char(10),@产品类型char(10),@速度int,@内存int,@硬盘容量int,@价钱money as begintransaction declare@error1int ; insertinto产品values(@制造商,@产品型号,@产品类型) set@error1=@error1+@@error insertintoPC电脑values(@产品型号,@速度,@内存,@硬盘容量,@价钱) set@error1=@error1+@@error if(@error1<>0) begin print'插入失败,回滚事物' rollbacktransaction end | else begin print'成插入成功,提交事物' committransaction end execP1@制造商='C',@产品型号='11100',@产品类型='PC电脑',@速度=240,@内存=32,@硬盘容量='',@价钱=2499 2) createprocedureP2 as 。 begintransaction declare@Error2int insertinto产品(制造商,产品型号,产品类型) select制造商,产品型号+'1100','便携式电脑' from产品 where产品.产品类型='PC电脑' set@Error2=@Error2+@@error insertinto便携式电脑(型号,速度,内存,硬盘,屏幕大小,价钱) select型号+'1100',速度,内存,硬盘容量,11,价钱+500 fromPC电脑 ; set@Error2=@Error2+@@error if(@Error2<>0) begin print'插入失败,回滚事物' rollbacktransaction end else begin print'插入成功,提交事物' committransaction ? end 3) createtriggerP3 onPC电脑 fordelete as deletefrom产品 where产品型号in(select型号fromdeleted) deletefromPC电脑 where硬盘容量<50 ~ createtriggerP4 on产品 forupdate as declare@型号1char(10) declare@制造商char(10) select@型号1=产品型号frominserted select@制造商=制造商 frominsertedb whereb.产品型号=@型号1 ) if@制造商isnull begin print'错误! ' rollbacktransaction end update产品 set制造商='A' where制造商='B' (4)厂商A收购了B,将所有由B制造的产品改为A制造 declareMyCursorcursor | DYNAMIC for select制造商,产品型号,产品类型 from产品 where制造商='B' forupdate openMyCursor fetchnextfromMyCursor ! update产品 set制造商='A' wherecurrentofMyCursor while(@@FETCH_STATUS=0) begin fetchnextfromMyCursor update产品 set制造商='A' wherecurrentofMyCursor END ( deallocateMyCursor createdatabaseMovies createtable电影明星( 姓名varchar(20)notnullprimarykey, 地址varchar(50), ; 性别char (2)check(性别='男'or性别='女'), 生日datetime ); createtable制作人与行政总裁( 姓名varchar(20), 地址varchar(50), 身份证号char(18)notnullprimarykey, 资产int ); createtable制片公司( 。 公司名称varchar(50)notnullprimarykey, 地址varchar(50), 行政总裁char(18)notnullreferences制作人与行政总裁(身份证号), ); createtable电影( 电影名称varchar(50)notnull, 拍摄年份datetimenotnull, 长度int, 是否彩色char (2)check(是否彩色='是'or是否彩色='否'), 所属电影公司varchar(50)references制片公司(公司名称), 制片人char(18)references制作人与行政总裁(身份证号), constraintdyprimarykey(电影名称,拍摄年份) ); createtable演员参演电影( 电影名称varchar(50)notnull, 拍摄年份datetimenotnull, 演员姓名varchar(20)notnullreferences电影明星(姓名), foreignkey(电影名称,拍摄年份)references电影(电影名称,拍摄年份), constraintyycydyprimarykey(电影名称,拍摄年份,演员姓名) ); createdatabaseProducts createtable产品( 制造商varchar(50), 产品型号char(4)notnullprimarykey, 产品类型varchar(20), ) createtablePC电脑( 型号char(4)notnullprimarykeyreferences产品(产品型号), 速度float, 内存float, 硬盘容量float, 价钱int, ); createtable便携式电脑( 型号char(4)notnullprimarykeyreferences产品(产品型号), 速度int, 内存int, 硬盘int, 屏幕大小int, 价钱int, ) createtable打印
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 实验 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)