《数据库原理及MySQL应用(微课版)》课件 第9章数据查询.pptx

《数据库原理及MySQL应用(微课版)》课件 第9章数据查询.pptx

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

第9章数据查询

;;Mysql中使用select语句可以从数据库中快捷方便地检索、统计或输出数据,该语句的执行过程是从数据库中选取匹配的特定行和列,并将这些数据组成一个结果集,然后以一张临时表的形式返回。Select语句功能强大,常用格式为;

;SELECT语句;单表查询;示例;单表查询;示例;单表查询;示例;单表查询;示例;示例;单表查询;单表查询;示例;示例;单表查询;示例;单表查询;单表查询;示例;单表查询;示例;单表查询;示例;;分组聚合查询;示例;分组聚合查询;示例;示例;示例;讲述了单表查询操作,但是在实际开发中往往需要针对两张甚至更多张数据表进行操作,而这多张表之间需要使用主键和外键关联在一起,然后使用连接查询来查询多张表中满足要求的数据记录。

当相互关联的多张表中存在意义相同的字段时,便可以利用这些相同字段对多张表进行连接查询。连接查询主要分为交叉连接查询、内连接查询和外连接查询三种。;1、交叉连接查询;交叉连接查询使用的是CROSSJOIN关键字,其语法格式如下所示:;【示例】查询学生表与成绩表的交叉连接(笛卡儿积);内连接查询;(1)等值与非等值连接;【示例4.39】查询会计学院全体同学的学号、姓名、籍贯、班级编号和所在班级名称。

Selectstudentno,studentname,native,tb_student.classno,classname

Fromtb_student,tb_class

Wheretb_student.classno=tb_class.classnoanddepartment=‘会计学院’;

【示例4.40】查询选修了课程名称为“程序设计”的学生学号、姓名和成绩。

Selecta.studentno,studentname,score

Fromtb_studentasa,tb_courseb,tb_scorec

Wherea.studentno=c.studentnoandb.courseno=c.coursenoandcoursename=‘程序设计’;

;若某个表与自身进行连接,称为自表连接或自身连接,简称自连接。使用自连接时,需要为表指定多个不同的别名,且对所有查询字段的引用均必???使用表别名限定。;

自然连接是通过NATURALJOIN关键字来实现连接查询的,其SQL语法如下所示:;外连接;(1)左外连接;(2)右外连接;子查询;标量子查询;【示例4.47】标量子查询,查询班级“计算机14-1班”所有学生的学号、姓名。;行子查询;【示例】行子查询,查询tb_student表中民族与班级与学生“李明”相同的学生信息。;列子查询;(1)使用IN的列子查询;【示例】列子查询—使用IN关键字,查询tb_student表中籍贯在“河南”或者“湖南”的学生信息。;(2)使用ANY或SOME的列子查询;ANY通常与比较运算符“”、“=”、“”、“=”、“=”、“”或者“!=”联合使用,其中:

=ANY:功能与IN相同;

ANY:大于子查询结果集中任意一个数据时返回TRUE,否则返回FALSE;也就是说只要大于结果集中最小的数据即可返回TRUE;

=ANY:大于等于子查询结果集中任意一个数据时返回TRUE,否则返回FALSE;也就是说只要大于等于结果集中最小的数据即可返回TRUE;;【示例4.49】列子查询—使用ANY关键字,查询男生中比某个女生出生年份晚的学生姓名和出生年份;(3)使用ALL的列子查询;ALL:大于子查询结果集中所有数据时返回TRUE,否则返回FALSE;也就是说只要大于结果集中最大的数据即可返回TRUE;

=ALL:大于等于子查询结果集中所有数据时返回TRUE,否则返回FALSE;也就是说只要大于等于结果集中最大的数据即可返回TRUE;

ALL:小于子查询结果集中所有数据时返回TRUE,否则返回FALSE;也就是说只要小于结果集中最小的数据即可返回TRUE;

=ALL:小于等于子查询结果集中所有数据时返回TRUE,否则返回FALSE;也就是说只要小于等于结果集中最小的数据即可返回TRUE;

ALL:相当于NOTIN。;【示例4.50】列子查询—使用ALL关键字,查询男生中比所有女生出生年份晚的学生姓名和出生年份。;(4)使用EXISTS的列子查询。;【示例4.51】列子查询—使用EXISTS关键字,查询选修了课程号为“3

您可能关注的文档

文档评论(0)

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

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档