数据库实验答案_第1页
数据库实验答案_第2页
数据库实验答案_第3页
数据库实验答案_第4页
数据库实验答案_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库实验答案数据库实验答案数据库实验答案xxx公司数据库实验答案文件编号:文件日期:修订次数:第1.0次更改批准审核制定方案设计,管理制度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价钱<60002、同上要求,另外将"速度"改名为"兆赫",将"硬盘"改名为"G字节"。select型号,速度兆赫,硬盘容量G字节fromPC电脑where价钱<60003、找出打印机的制造商。select制造商from产品where产品类型='打印机'4、找出价格高于2000元的"便携式电脑"的型号、内存容量及屏幕大小。select型号,内存,屏幕大小from便携式电脑where价钱>60005、从"打印机"关系中找出所有彩色打印机的元组。select*from打印机where是否彩色='是'6、找出具有300GB以上的硬盘容量而价格低于2000元的所有个人计算机的型号、速度及硬盘。select型号,速度,硬盘容量fromPC电脑where硬盘容量>300and价钱<60001、找出配置了容量至少为300GB硬盘的便携式电脑的制造商及其速度。select制造商,速度from产品,便携式电脑where产品型号=便携式电脑.型号and硬盘>3002、找出由生产厂商"苹果"生产的所有产品的型号和价格。select型号,价钱fromPC电脑where型号in( select产品型号 from产品 where制造商='苹果')unionselect型号,价钱from便携式电脑where型号in( select产品型号 from产品 where制造商='苹果')unionselect型号,价钱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(*)>=25、找出拥有相同速度和内存的PC的成对的型号。selectdistinctQ.型号,P.型号fromPC电脑Q,PC电脑PwhereQ.速度=P.速度andQ.内存=P.内存andQ.型号<P.型号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的便携式电脑。(注意"<all"和"<any"的区别)select型号from便携式电脑where速度<all( select速度 fromPC电脑)4、找出具有最高价格的机器(PC,便携式电脑或打印机)的型号。select型号fromPC电脑where价钱=( selectMAX(价钱) fromPC电脑)unionselect型号from便携式电脑where价钱=( selectMAX(价钱) from便携式电脑)unionselect型号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电脑.型号andPC电脑.速度=( selectMAX(速度) fromPC电脑 where内存<=all ( select内存 fromPC电脑 ) )and内存in ( selectmin(内存) frompc电脑 )createviewvproduct(制造商,产品型号,产品类型,价钱,速度)asselect制造商,产品型号,产品类型,价钱,速度from产品,PC电脑where产品.产品型号=PC电脑.型号unionselect制造商,产品型号,产品类型,价钱,速度from产品,便携式电脑where产品.产品型号=便携式电脑.型号1、找出销售便携式电脑但不销售PC的厂商。select制造商fromvproductwhere产品类型LIKE'便携式电脑'and制造商notin(select制造商from产品where产品类型LIKE'PC电脑'or产品类型LIKE'打印机')2、找出至少生产两种不同的计算机(PC或便携式电脑)且极其速度至少为133的厂商。selectdistinct制造商fromvproductwhere速度>133and产品类型LIKE'PC电脑'or产品类型LIKE'便携式电脑'and制造商in(selectmin(制造商)fromvproductgroupby制造商havingCOUNT(产品型号)>=2)3、找出生产最高速度的计算机(PC电脑或便携式电脑)厂商。selectdistinct制造商fromvproductwhere速度>133and产品类型LIKE'PC电脑'or产品类型LIKE'便携式电脑'and制造商in(selectmin(制造商)fromvproductgroupby制造商havingCOUNT(产品型号)>=2)createview最高速度1asselectdistinct制造商from产品,PC电脑where产品.产品型号=PC电脑.型号and速度=( selectMAX(速度) fromPC电脑)unionselectdistinct制造商from产品,便携式电脑where产品.产品型号=便携式电脑.型号and速度=( selectMAX(速度) from便携式电脑)4、找出至少生产三种不同速度PC的厂商。selectdistinct制造商fromvproductwhere产品类型LIKE'PC电脑'and制造商in(selectmin(制造商)fromvproductgroupby产品类型havingcount(速度)>=3)5.找出只卖三种不同型号的PC的厂商。createview三种asselect制造商from产品AwhereA.产品型号=any( select型号 fromPC电脑)ANDA.制造商notin( selectB.制造商 from产品B where产品类型='便携式电脑'or产品类型='打印机')GROUPBY制造商havingcount(*)=3createviewvproduct3(制造商,产品型号,产品类型)asselect制造商,产品型号,产品类型from产品where制造商notin(select制造商from产品where产品类型LIKE'便携式电脑'or产品类型LIKE'打印机')select制造商fromvproduct3groupby制造商havingcount(产品型号)>=2selectavg(速度)fromPC电脑selectavg(速度)from便携式电脑where价钱>2500selectavg(价钱)fromPC电脑where型号in(select产品型号from产品where制造商='A')实验六1)找出PC的平均速度。selectAVG(速度)fromvproduct3where产品类型='PC电脑'2)找出价格超过2500美元的便携式电脑的平均速度。selectAVG(速度)fromvproduct3where产品类型='便携式电脑'and价钱>25003)找出厂商A生产PC的平均价格。selectAVG(价钱)fromvproduct3where制造商='A'and产品类型='PC电脑'4)找出厂商D生产的PC和便携式电脑的平均价格。selectAVG(价钱)fromvproduct3where制造商='D'(5)找出各种不同速率的pc的平均价格createviewfiveasselect价钱,速度fromPC电脑select速度,AVG(价钱)as平均价钱fromfivegroupby速度直接查询select速度,AVG(价钱)fromPC电脑groupby速度6)找出各厂商生产的便携式电脑的显示器平均尺寸。createviewvproduct4(制造商,产品型号,速度,价钱,屏幕大小)asselect制造商,产品型号,速度,价钱,屏幕大小from产品,便携式电脑where产品.产品型号=便携式电脑.型号select制造商,AVG(屏幕大小)fromvproduct4groupby制造商7)找出生产三种不同型号的PC的厂商。createviewvproduct5(制造商,产品型号,产品类型,价钱)asselect制造商,产品型号,产品类型,价钱from产品,PC电脑where产品.产品型号=PC电脑.型号select制造商fromvproduct5groupby制造商havingcount(产品型号)=38)找出各厂商生产的PC的最高价格。select制造商,MAX(价钱)fromvproduct5groupby制造商9)找出速度超过150MHz的各种速度的PC的平均价格。selectAVG(速度)fromvproduct3where产品类型='PC电脑'and速度>15010)找出所有生产打印机的厂商生产PC的硬盘平均容量。createviewnowasselect制造商,产品型号from产品where制造商in(select制造商from产品where产品类型='打印机')and产品类型='PC电脑'createviewnow1asselect制造商,产品型号,硬盘容量fromnow,PC电脑wherenow.产品型号=PC电脑.型号selectavg(硬盘容量)平均硬盘容量fromnow1实验七1)createprocedureP1@制造商char(10),@产品型号char(10),@产品类型char(10),@速度int,@内存int,@硬盘容量int,@价钱moneyas 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 endexecP1@制造商='C',@产品型号='11100',@产品类型='PC电脑',@速度=240,@内存=32,@硬盘容量='',@价钱=24992)createprocedureP2as 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 end3)createtriggerP3onPC电脑fordeleteasdeletefrom产品where产品型号in(select型号fromdeleted) deletefromPC电脑where硬盘容量<50createtriggerP4on产品forupdateasdeclare@型号1char(10)declare@制造商char(10)select@型号1=产品型号frominserted select@制造商=制造商 frominsertedb whereb.产品型号=@型号1if@制造商isnull begin print'错误!' rollbacktransaction endupdate产品set制造商='A'where制造商='B'(4)厂商A收购了B,将所有由B制造的产品改为A制造declareMyCursorcursorDYNAMICforselect制造商,产品型号,产品类型from产品where制造商='B'forupdateopenMyCursorfetchnextfromMyCursorupdate产品set制造商='A'wherecurrentofMyCursorwhile(@@FETCH_STATUS=0)beginfetchnextfromMyCursorupdate产品set制造商='A'wherecurrentofMyCursorENDdeallocateMyCursorcreatedatabaseMoviescreatetable电影明星(姓名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是否彩色='否'),所属电影公司va

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论