数据库设计与应用(MySQL)(第2版)课件 工作任务5-使用子查询.pdf

数据库设计与应用(MySQL)(第2版)课件 工作任务5-使用子查询.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

数据库设计与应用

——MySQL

使用子查询

使用集合成员测试子查询查

1认识子查询2询数据表

使用存在性测试子查询查询使用比较测试子查询查询数

3数据表4据表

5实践训练

1认识子查询

掌握子查询概念,能够根据具体要求分析出使用子查询的条件,并使用正确的子查询。

01子查询是指一个查询语句嵌套在另一个查询语句内部,如

where子句或from子句。

理论上,子查询可以出现在查询语句的任意位置,但在实际应用中,

多出现在where子句或from子句中。

02

外层的select语句称为主查询或父查询,与子查询相对应。

嵌套在查询语句的子句中的select语句称为子查询。

03子查询必须使用一对圆括号括起来

2使用集合成员测试子查询查询数据表

能够正确使用in或notin运算符将子查询与父查询连接进行单表或多表数据查询。

01子查询结果是一个数据集合。

子查询的结果可能是一个多行单列的数据集合(较为常用),

也可能是一个多行多列的数据集合。

02主查询中的条件子句中使用列表运算符in(notin)

例:select*fromprovidewhereprovideidin(selectprovideidfrommerchinfo);

--查询已经供应商品的供应商信息,此时子查询结果是一个多行单列的数据集合

select*fromuserswhere(userid,userpw)in(selectuserid,userpwfromuserswhereusernamelike张%);

--查询所有姓张的用户信息,此时子查询结果是一个多行多列的数据集合,当然,这个语句是可以不用子查询的:

select*fromuserswhereusernamelike张%;

3使用存在性测试子查询查询数据表

能够按照要求使用exists运算符或notexists运算符将主查询和子查询连接起来,此时子查询如果与主

查询使用的表不同,还需要建立两个表之间的参照关系。

01存在性测试子查询可以是任一类子查询,有查询结果

就表示存在结果为真

02exists测试有否定形式:notexists

03父、子查询涉及的表不同时,要建立两个表之间的参照关系,即

父表.列名=子表.列名

例:select*fromprovidepwhereexists(selectprovideidfrommerchinfom

wherep.provideidm.provideid);

--查询已经供应商品的供应商信息,此时使用的是存在性测试子查询,且子表和父表不同。

4使用比较测试子查询查询数据表

能够根据具体要求正确使用比较测试子查询查询一个或多个数据表。

您可能关注的文档

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档