第6次课_SQL更新.ppt
文本预览下载声明
数据库技术与应用;数据查询 ;集合查询;集合查询(续);集合查询(续);集合查询(续);集合查询(续);集合查询(续);数据查询 ;连接查询 ;连接查询:例子;连接操作的执行过程;排序合并法(SORT-MERGE);索引连接法(INDEX-JOIN);连接查询(续);一、等值与非等值连接查询 ;等值与非等值连接查询(续);连接查询(续);二、自身连接 ;自身连接(续);连接查询(续);三、外连接;外连接(续) ;连接查询(续);四、复合条件连接;数据查询 ;嵌套查询;嵌套查询求解方法; 相关子查询和C语言中的常见循环嵌套类似:
for (i=0;i9;I++)
{for (j=0;j99;j++)
{ j=f(i);
……
}
};嵌套查询;一、带有IN谓词的子查询;带有IN谓词的子查询(续);带有IN谓词的子查询(续);带有IN谓词的子查询(续);带有IN谓词的子查询(续);嵌套查询;二、带有比较运算符的子查询;带有比较运算符的子查询(续);带有比较运算符的子查询(续);带有比较运算符的子查询(续);带有比较运算符的子查询(续);带有比较运算符的子查询(续);嵌套查询;三、带有ANY(SOME)或ALL谓词的子查询 ;带有ANY(SOME)或ALL谓词的子查询 (续);带有ANY(SOME)或ALL谓词的子查询 (续);带有ANY(SOME)或ALL谓词的子查询 (续);带有ANY(SOME)或ALL谓词的子查询 (续);带有ANY(SOME)或ALL谓词的子查询 (续);带有ANY(SOME)或ALL谓词的子查询 (续);带有ANY(SOME)或ALL谓词的子查询 (续);例子:银行客户管理;找出在银行中同时有存款和贷款账户的客户(分别用IN和EXIST谓词完成)
找出那些总资产至少比位于Brooklyn 的某一家支行要多的支行名字(用ANY谓词完成)
找出平均贷款余额最高的分行名字;找出在银行中同时有存款和贷款账户的客户
select distinct customer-name
from borrower
where customer-name in
(select customer-name
from depositor)
select distinct customer-name
from borrower
where exists
(select *
from depositor
where depositor. customer-name
= borrower. customer-name);找出那些总资产至少比位于Brooklyn 的某一家支行要多的支行名字
select branch-name
from branch
where assets any (select assets
from branch
where branch-city=‘Brooklyn’)
;找出平均贷款余额最高的分行名字
select branch-name
from account
group by branch-name
having avg(balance) = all(select avg(balance))
from account
group by branch-name
;嵌套查询;带有EXISTS谓词的子查询(续);带有EXISTS谓词的子查询(续);带有EXISTS谓词的子查询(续);带有EXISTS谓词的子查询(续);带有EXISTS谓词的子查询(续);带有EXISTS谓词的子查询(续);带有EXISTS谓词的子查询(续);带有EXISTS谓词的子查询(续);找出在Brooklyn所有分行都有存款账户的客户;找出在Brooklyn所有分行都有存款账户的客户
不存在这样的Brooklyn的分行,客户在该分行没有存款账户
select distinct customer-name
from customer
where not exi
显示全部