欢迎来到天天文库
浏览记录
ID:52848879
大小:249.94 KB
页数:20页
时间:2020-03-26
《崔巍 数据库系统及应用第4版0705嵌套查询.pptx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1嵌套查询普通嵌套查询使用量词的嵌套查询内、外层互相关嵌套查询使用EXISTS的嵌套查询2普通嵌套查询SELECT…FROMWHERE[<其他查询条件>AND]IN(SELECTFROM[WHERE…])3普通嵌套查询举例查询哪些城市至少有一个仓库的职工的工资为4250元?SELECT城市FROM仓储.仓库WHERE仓库号IN(SELECT仓库号FROM基础.职工WHERE工资=4250)JOIN?SELECT城市FROM仓储.仓库JOIN基础
2、.职工ON仓库.仓库号=职工.仓库号WHERE工资=4250查询效率?4普通嵌套查询举例查询所有职工的工资都多于4210元的仓库的信息。SELECT*FROM仓储.仓库WHERE仓库号NOTIN(SELECT仓库号FROM基础.职工WHERE工资<=4210)JOIN?5普通嵌套查询举例找出和职工E4挣同样工资的所有职工。SELECT职工号FROM基础.职工WHERE工资=(SELECT工资FROM基础.职工WHERE职工号='E4')Join?6普通嵌套查询举例找出哪些城市的仓库向北京的供应商发出了订购单。(参考图5-3)SELECT城市FROM仓
3、储.仓库WHERE仓库号IN(SELECT仓库号FROM基础.职工WHERE职工号IN(SELECT职工号FROM订货.订购单WHERE供货方IN(SELECT供应商号FROM订货.供应商WHERE地址=‘北京’)))Join?7使用量词的嵌套查询<表达式><比较运算符>[ANY
4、ALL
5、SOME](子查询)8使用量词的嵌套查询举例查询有职工的工资大于或等于WH1仓库中任何一名职工的工资的仓库号。SELECTDISTINCT仓库号FROM基础.职工WHERE工资>=ANY(SELECT工资FROM基础.职工WHERE仓库号='WH1')等价?9使用量
6、词的嵌套查询举例查询有职工的工资大于或等于“WH1”仓库中所有职工的工资的仓库号。SELECTDISTINCT仓库号FROM基础.职工WHERE工资>=ALL(SELECT工资FROM基础.职工WHERE仓库号='WH1')等价?内、外层互相关嵌套查询不仅内层查询的结果提供给外层使用外层查询可以向内层查询提供值,然后内层查询利用外层查询提供的值完成一次查询,并将内层查询的结果提供给外层使用1011查询支持的更新操作UPDATE[schema_name.]table_nameSETcol_name={exp
7、DEFAULT
8、NULL}[,...n][W
9、HERE]这里的可以是基于本表定义的表达式,还可以是基于其他表的查询,即在中可以嵌套查询,并且通常是内外层互相关的嵌套,即外层为内层查询提供值,而内层的查询结果为外层的UPDATE语句所用。12查询支持的更新操作根据订购明细表中的单价和数量计算并更新订购单表的金额字段值。UPDATE订货.订购单SET金额=(SELECTSUM(单价*数量)FROM订货.订购明细WHERE订购单号=订购单.订购单号)面向过程、以前你编程序的思路?13内、外层互相
10、关嵌套查询列出每个职工经手的具有最高总金额的订购单信息。列出每个职工经手的?是否可以用Groupby?SELECTouta.订购单号,outa.经手人,outa.供货方,outa.订购日期,outa.金额FROM订货.订购单outaWHEREouta.金额=(SELECTMAX(innera.金额)FROM订货.订购单inneraWHEREinnera.经手人=outa.经手人)使用EXISTS的嵌套查询[NOT]EXISTS(子查询)一般格式SELECT…FROM…WHERE[NOT]EXISTS(SELECT…FROM…WHERE…)1415使用
11、EXISTS的嵌套查询举例查询目前没有经手订购单的职工信息。SELECT*FROM基础.职工WHERENOTEXISTS(SELECT*FROM订货.订购单WHERE经手人=职工.职工号)等价?查询那些目前至少已经经手了1张订购单的职工信息。SELECT*FROM基础.职工WHEREEXISTS(SELECT*FROM订货.订购单WHERE经手人=职工.职工号)等价?16查询支持的插入操作INSERTINTO<表名>新在“重庆”设立一个仓库号为WH5、面积为600的仓库,并计划在该仓库存放全部器件,因此先在库存表中插入仓库号WH5
12、和所有器件号的组合,数量暂时为空值NULL。INSERTINTO仓储.库存SELECT‘WH5’,器件号,N
此文档下载收益归作者所有