java典型应用彻查1000例第六卷web开发源码习题bookjavavol-6web_第1页
java典型应用彻查1000例第六卷web开发源码习题bookjavavol-6web_第2页
java典型应用彻查1000例第六卷web开发源码习题bookjavavol-6web_第3页
java典型应用彻查1000例第六卷web开发源码习题bookjavavol-6web_第4页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、Chapter 22嵌套子查询 在查询句(Query Clauses)中另设的子查询句(Subquery Clauses),称为嵌套子查询(Nested Subqueries),常使用的项目包括:子成员(Sub Membership)、成员测试(Test Set Membership)、比较设置(Make Set Comparisons)、关联数据存在测试(Test for Existed Relations)等。在第20章、第21章无法解决的问题,使用嵌套子查询就能轻易地解答。 22-3 子成员在主查询句(Query Clauses)中设置子查询句(Subquery Clauses),可将子

2、查询句取得的结果嵌套在主查询句中使用,使问题逻辑简单化。回顾范例102,因对于聚合运算,条件子句WHERE或HAVING均无法运行,此时可以以子成员的方式,设计范例105,以嵌套子句替换聚合命令MAX执行查询。设计SQL命令(范例102的设计构想): SELECT customer_name, amount FROM Borrow WHERE amount = MAX(amount)因条件子句WHERE不能运行于聚合运算,将SQL查询句更改为: SELECT customer_name, amount FROM Borrow WHERE amount = (SELECT MAX(amount)

3、 FROM Borrow)22-4 成员测试SQL语言提供成员测试命令IN与NOT IN,当子查询句存在于查询句中时使用IN;当子查询句不存在于查询句中时使用NOT IN。回顾20-5节范例92,可使用IN执行INTERSECT;回顾20-6节范例93,可使用NOT IN执行EXCEPT/MINUS。设计SQL命令(范例92的设计构想):(SELECT customer_name FROM Borrow)INTERSECT(SELECT customer_name FROM Deposit)因Access并未将INTERSECT纳为命令,更改SQL查询句为:SELECT DISTINCT cu

4、stomer_name FROM Borrow WHERE customer_name IN (SELECT customer_name FROM Deposit)22-5 比较设置如范例109、范例110,为了执行部分比较,SQL语言提供命令代词SOME及其比较命令 SOME、 SOME、= SOME、= SOME、 SOME。如范例111,为了执行全部比较,SQL提供命令代词ALL及其比较命令 ALL、 ALL、= ALL、= ALL、 ALL。 设计SQL命令(范例85的设计构想):SELECT DISTINCT T.branch_name, T.customer_name FROM D

5、eposit AS T, Deposit AS S WHERE T.balance S.balance本例以嵌套子查询的比较设置进行替换来执行查询,将SQL查询句更改为:SELECT branch_name, customer_name FROM Deposit WHERE balance SOME(SELECT balance FROM Deposit)22-6 关联数据存在测试在多个表的关联架构下,SQL语言提供命令EXISTS与NOT EXISTS测试关联数据的存在与否,当关联子查询句存在于查询句中时,使用EXISTS;当关联子查询句不存在于查询句中时,使用NOT EXISTS。回顾范例

6、107,可使用EXISTS执行INTERSECT;回顾范例108,可使用NOT EXISTS执行EXCEPT/MINUS。 设计SQL命令(范例92的设计构想):(SELECT customer_name FROM Borrow)INTERSECT(SELECT customer_name FROM Deposit)设计SQL命令(范例107的设计构想):SELECT DISTINCT customer_name FROM Borrow WHERE customer_name IN (SELECT customer_name FROM Deposit)使用EXISTS替换INTERSECT,更改SQL查询句为:SELECT DISTINCT customer_name FR

温馨提示

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

评论

0/150

提交评论