- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 跨境电商英语实务 课件全套 林逸 项目1--8 走近跨境电商--- 做好售后服务.pptx
- 跨境电商英语实务 课件 林逸 项目5--8 通关质检-- 做好售后服务.pptx
- 跨境电商英语实务 课件 林逸 项目1--4 走近跨境电商--- 寻找物流商.pptx
- 《数据库原理及MySQL应用(微课版)》课件 第1章 认识数据库系统.pptx
- 《数据库原理及MySQL应用(微课版)》课件 第2章关系模型及关系运算.pptx
- 《数据库原理及MySQL应用(微课版)》课件 第3章 关系数据库规范化理论.pptx
- 《数据库原理及MySQL应用(微课版)》课件 第4章数据库设计.pptx
- 《数据库原理及MySQL应用(微课版)》课件 第5章标准的结构化查询语言SQL.pptx
- 《数据库原理及MySQL应用(微课版)》课件 第6章 MySQL的安装与配置.pptx
- 《数据库原理及MySQL应用(微课版)》课件 第7章数据定义.pptx
- 《数据库原理及MySQL应用(微课版)》课件 第10章索引.pptx
- 《数据库原理及MySQL应用(微课版)》课件 第11章视图.pptx
- 《数据库原理及MySQL应用(微课版)》课件 第12章触发器.pptx
- 《数据库原理及MySQL应用(微课版)》课件 第13章存储过程与存储函数.pptx
- 《数据库原理及MySQL应用(微课版)》课件 第14章访问控制与安全管理.pptx
- 《数据库原理及MySQL应用(微课版)》课件 第15章备份与恢复.pptx
- 《数据库原理及MySQL应用(微课版)》课件 第16章MySQL数据库的应用编程.pptx
- 《数据库原理及MySQL应用(微课版)》课件 第17章开发实例.pptx
文档评论(0)