第7章SQL查询研究.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
7.3.4 模糊LIKE查询 3. “[]”通配符 “[]”符号用于表示一定范围内的任意单个字符,它包括两端数据。 【例7-17】在UserTb表中,查询电话以“234”开头并且以“1”结尾,且中间数字位于1-5之间的读者信息。 解:程序如下: USE Library SELECT * FROM UserTb WHERE UserTel LIKE 234[1-5]1 执行结果如图7-22所示。 图7-22 例7-17执行结果 7.3.4 模糊LIKE查询 4. [^]通配符 [^]符号用于表示不在某个范围内的任意单个字符,它不包括两端数据。 【例7-18】在在UserTb表中,查询电话以“234”开头并且以“1”结尾,且中间数字不是“2”的读者信息。 解:程序如下: USE Library SELECT * FROM UserTb WHERE UserTel like 234[^2]1 执行结果如图7-23所示。 图7-23 例7-18执行结果 7.4 连接查询 在数据库的应用中,经常需要从多个相关的表中查询数据,如果多个表之间存在关联关系,则可以通过连接查询同时查看各表的数据。连接查询主要包括内连接、外连接、交叉连接。 连接条件可在FROM或WHERE子句中指定连接。连接条件与WHERE和HAVING搜索条件组合,用于控制FROM子句中的基表所选定的行。 在FROM子句中指定连接条件,有助于将这些连接条件与WHERE子句中可能指定的其他搜索条件分开。指定连接时建议使用这种方法。简单的子句连接语法如下: FROM 表1 连接类型 表2 [ON连接条件] 其中,连接类型指定所执行的连接方式,包括内连接、外连接或交叉连接。 7.4.1 内连接 内连接一般是我们最常使用的,也叫自然连接,是用比较运算符比较要连接列的值的连接。它是通过(INNER JOIN或者JOIN)关键字把多表进行连接。语法如下: SELECT 列名1, 列名n FROM 表1 INNER JOIN 表2 ON 表1. 列名=表2. 列名 【例7-19】给出以下程序的执行结果。 USE Library SELECT UserTb.UserId ,UserTb.UserName,BookId ,LendDate ,RtnDate FROM UserTb JOIN Lending ON UserTb.UserId = Lending.UserId 7.4.1 内连接 解:该程序使用内连接查询借书的读者信息。通过内连接,可以查询曾经借过书的读者信息。执行结果如图7-24所示。 图7-24 内连接查询执行结果 7.4.1 内连接 说明: 1) 其中,INNER JOIN是SQL Server的缺省连接,可简写为JOIN。 2) 当单个查询引用过多个表时,所有列引用都必须明确。任何重复的列名都必须用表名限定,如列名“UserId”在表“UserTb”和表“Lending”中都有,因此列名前须加表名限定,其他列名在表中不重复,则不需加表名限定。 3) 如果多个表要做连接,那么这些表之间必然存在着主键和外键的关系。所以需要将这些键的关系列出,就可以得出表连接的结果。 内连接就是将参与的数据表中的每列与其它数据表的列相匹配,形成临时数据表,并将满足数据项相等的记录从临时数据表中选择出来。 7.4.2 外连接 仅当至少有一个同属于两表的行符合连接条件时,内连接才返回记录。内连接消除与另一个表中的任何不匹配的行。而外连接会返回FROM子句中提到的至少一个表或视图的所有行。 外连接扩充了内连接的功能,会把内连接中删除原表的一些记录保留下来,由于保留下来的行不同,可以把外连接分为左外连接、右外连接和全连接。 1. 左外连接 左外连接保留了第一个表的所有行,但只包含第二个表与第一个表匹配的行。第二个表相应的空行被放入NULL值。 左外连接的语法如下: SELECT 列名1, 列名n FROM 表1 LEFT OUTER JOIN 表2 ON 表1. 列名=表2. 列名 其中OUTER可省略。 7.4.2 外连接 【例7-20】将表“UserTb”和表“Lending”进行左外连接。 解:本例查询了所有读者的借书记录,对于从来没有借过书的读者相关列用NULL来代替。程序如下: USE Library SELECT UserTb.UserId , UserTb.UserName,

文档评论(0)

1112111 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档