- 1、本文档共57页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用IN关键字可以指定一个值表,值表中列出所有可能的值,当与值表中的任一个匹配时,即返回TRUE,否则返回FALSE。 使用IN关键字指定值表的格式为: expression IN ( expression [,…n]) 【例5.21】 查询Book表中“高等教育出版社”、“北京大学出版社”和“人民邮电出版社”出版的图书的情况。 SELECT * FROM Book WHERE 出版社 IN ( 高等教育出版社, 北京大学出版社, 人民邮电出版社); 说明:IN关键字最主要的作用是表达子查询。 范围比较举例 空值比较 4. 空值比较 当需要判定一个表达式的值是否为空值时,使用IS NULL关键字,格式为: expression IS [ NOT ] NULL 当不使用NOT时,若表达式expression的值为空值,返回TRUE,否则返回FALSE;当使用NOT时,结果刚好相反。 【例5.22】 查询Sell表中尚未发货的订单记录。 SELECT * FROM Sell WHERE 是否发货 IS NULL; 本例即查找总学分为空的学生,结果为空。 课堂练习 对YGGL数据库完成一下查询: 1、显示月收入高于2000元的员工号码 2、查询1970年以后出生的员工的姓名和地址 3、 查询支出在50-150之间的员工信息 4、查询财务部、研发部、市场部的员工信息 5、显示工作年限三年以上(含3年)、学历在本科以上(含本科)的男性员工的信息 6、查找员工号码中倒数第二个数字为0的姓名、地址和学历 7 查找地址中包含’中山路’ 的员工的信息 ? THANK YOU SUCCESS * * 可编辑 任务二 多表查询 前面介绍了使用SELECT子句选择列,本小节讨论SELECT查询的对象(即数据源)的构成形式。SELECT的查询对象由FROM子句指定,其格式为: FROM 表名1 [ [AS] 别名1 ] [ , 表名2[ [AS] 别名2]] … /*查询表*/ | JOIN子句 /*连接表*/ ● 引用一个表: 可以用两种方式引用一个表,第一种方式是使用USE语句让一个数据库成为当前数据库,在这种情况下,如果在FROM子句中指定表名,则该表应该属于当前数据库。第二种方式是指定的时候在表名前带上表所属数据库的名字。例如,假设当前数据库是db1,现在要显示数据库db2里的表tb的内容,使用如下语句: SELECT * FROM db2.tb; 当然,在SELECT关键字后指定列名的时候也可以在列名前带上所属数据库和表的名字,但是一般来说,如果选择的字段在各表中是唯一的,就没有必要去特别指定。 FROM子句 【例5.23】 从Members表中检索出所有客户的信息,并使用表别名Users。 SELECT * FROM Members AS Users; ● 引用多个表: 如果要在不同表中查询数据,则必须在FROM子句中指定多个表。指定多个表时就要使用到连接。当不同列的数据组合到一个表中叫做表的连接。例如,在XSCJ数据库中需要查找选修了离散数学课程的学生的姓名和成绩,就需要将XS、KC和XS_KC三个表进行连接,才能查找到结果。 【例5.24】 查找Bookstore数据库中客户订购的图书书名,订购册数和订购时间。 SELECT Book.书名, Sell.订购册数, Sell.订购时间 FROM Book, Sell WHERE Book.图书编号=Sell.图书编号; 全连接 当数据查询涉及到多张表格时,要将多张表格的数据连接起来组成一张表格,连接的方式有多种。 全连接 全连接产生的新表是每个表的每行都与其他表中的每行交叉以产生所有可能的组合,列包含了所有表中出现的列,也就是笛卡儿积。全连接可能得到的行数为每个表中行数之积。 如表A有3行,表B有2行,表A和B全连接后得到6行(3x2=6)的表 全连接举例 T1 T2 T3 T4 T5 1 A 1 3 M 6 F 2 0 N 2 B T1 T2 T3 T4 T5 1 A 1 3 M 6 F 1 3 M 2 B 1 3 M 1 A 2 0 N 6 F 2 0 N 2 B 2 0 M 表A和B全连接后得到如下6行(3x2=6)的表: 表A 表B 等值连接 T1 T2 T3 T4 T5 1 A 1 3 M 2 B 2 0 N FROM子句各个表用逗号分隔,这样就指定了全连接。全连接潜在
文档评论(0)