




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
多表查询MySQL数据库应用技术知识目标(1)了解连接查询;(2)掌握子查询语法结构;(3)掌握外键的创建、查看、修改与删除操作。能力目标素养目标思政目标(1)能熟练的利用交叉、内连接、外连接语句进行表查询;(2)能熟练的使用子查询语句语法;(3)对外键的熟练使用。(1)增强实际动手能力;(2)养成遵守职业规范的习惯。(1)培养学生主动学习的意识和兴趣,以及对终身学习的认同感。一教学目标教学重点、难点1.连接查询2.子查询重点难点1.连接查询2.子查询二三
学习任务本单元学生任务是完成数据表的多表查询,要求如下:1.对stu_info表的叉连接查询;2.对stu_info表的内连接查询;3.对stu_info表的外连接查询;4.对stu_info表的子查询;5.对stu_info表的外键的创建与删除。授课内容16.1.1交叉连接26.1.2内连接36.1.3外连接四
任务1连接查询思维导图6.1.1
交叉连接1.交叉连接概念
交叉连接是一种将一张表的每一行数据与另一张表的每一行数据进行组合的查询方式。交叉连接是一种连接类型,它将两个或多个表中的每一行相互匹配,生成所有可能的组合。也就是说,交叉连接是在不考虑任何限制条件的情况下,将两个或多个表中的所有记录组合在一起,生成一个新的表。交叉连接可以查询两个或两个以上的表,为了更好的理解,下面先讲解两个表的交叉连接查询。交叉连接(CROSSJOIN)一般用来返回连接表的笛卡尔积。6.1.1
交叉连接2.交叉连接的语法格式
MySQL中,交叉连接的语法如下:SELECT字段名FROMtable1CROSSJOINtable2[WHERE子句];语法说明如下:(1)CROSSJOIN:关键字,交叉连接使用CROSSJOIN关键字。(2)字段名:需要查询的字段名称。如果想查询所有数据,可以使用*符号。(3)<table1><table2>:需要交叉连接的表名。(4)WHERE子句:用来设置交叉连接的查询条件。(5)特点:总记录条数:table1记录条数*table2记录条数(6)总列数:table1列数+table2列数6.1.1
交叉连接3.交叉连接的示例程序
在student数据库中,对stu_info表和stu_cj表进行交叉连接,示例程序如下:SELECT*FROMstu_infoCROSSJOINstu_cjwherestu_info.姓名=stu_cj.姓名;6.1.1
交叉连接4.交叉连接的注意事项(1)交叉连接会生成一个非常大的结果集,通常不建议使用。(2)如果两个表的行数非常大,交叉连接的执行时间会非常长,对数据库的性能会产生很大的影响。(3)如果要使用交叉连接,建议先对表进行筛选,减少结果集的大小。6.1.2
内连接1.内连接概念
MySQL数据库的内连接是一种在两个或多个表格之间进行联接查询的方法。内连接也称为等值连接。内连接是比较基本的一种连接方式,其主要功能是将两个表格中有相同值的行合并,从而得到所需要的查询结果。在MySQL数据库中,内连接可以使用JOIN或INNERJOIN关键字进行实现。6.1.2
内连接2.内连接基本语法格式内连接的语法格式如下:SELECT<字段名>FROM<表1>INNERJOIN<表2>[ON表格1.列名1=表格2.列名2]语法说明如下:(1)字段名:需要查询的字段名称。(2)<表1><表2>:需要内连接的表名。(3)INNERJOIN:内连接中可以省略INNER关键字,只用关键字JOIN。(4)ON子句:用来设置内连接的连接条件。6.1.2
内连接3.内连接示例程序用内连接查询学生信息表stu_info和成绩信息表stu_cj中的共同部分。selectstu_info.姓名,stu_cj.成绩fromstu_infoinnerjoinstu_cjonstu_info.姓名=stu_cj.姓名;或者selecta.姓名,b.成绩fromstu_infoainnerjoinstu_cjbona.姓名=b.姓名;6.1.2
内连接4.内连接注意事项(1)在这里的查询语句中,两个表之间的关系通过INNERJOIN指定,连接的条件使用ON子句给出。(2)当对多个表进行查询时,要在SELECT语句后面指定字段是来源于哪一张表。因此,在多表查询时,SELECT语句后面的写法是表名.列名。另外,如果表名非常长的话,也可以给表设置别名,这样就可以直接在SELECT语句后面写上表的别名.列名。(3)这道题目是可以用内连接来做的,但是内连接的缺点是会遗漏掉某些表中的信息,那么如果我们想保留,这就需要提到外连接。6.1.3外连接1.外连接概念
MySQL是一种流行的关系型数据库管理系统,它支持多种连接方式,其中最常用的之一是外连接。接下来将详细介绍MySQL外连接的用法。外连接是一种连接方法,它允许检索两个或多个表中的数据,并显示所有符合条件的行,即使其中一个表中的行没有与另一个表中的行匹配。外连接(OUTERJOIN):外连接不但返回符合连接和查询条件的数据行,还返回不符合条件的一些行。6.1.3外连接2.外连接分类MySQL支持三种类型的外连接:左外连接、右外连接和完全外连接。三者的共同点是都返回符合连接条件和查询条件(即:内连接)的数据行。不同点如下:(1)左外连接还返回左表中不符合连接条件单符合查询条件的数据行。(2)右外连接还返回右表中不符合连接条件单符合查询条件的数据行。在左外连接和右外连接时都会以一张表为基表,该表的内容会全部显示,然后加上两张表匹配的内容。如果基表的数据在另一张表没有记录。那么在相关联的结果集行中列显示为空值(NULL)。6.1.3外连接3.左外连接(LEFTJOIN)
以左表为基表,在from子句中使用关键字leftouterjoin”或关键字“leftjoin”来连接两张表,并使用ON子句来设置连接条件。两个表在连接过程中除了返回满足连接条件的行以外,还返回左表中不满足条件的行。保证左侧表的数据完全显示,连接时右侧表中的数据能匹配就匹配,没法匹配的话就显示为NULL。返回包括左表中的所有记录和右表中连接字段相等的记录。如下图中,左外连接就是左边一整个圆。6.1.3外连接3.左外连接(LEFTJOIN)左外连接示例:根据两张表都有课程名称这些数据,那么我们用左连接语句将课程信息表和成绩信息表进行连接,以课程信息表作为基表来进行左连接分数信息表,运行语句如下:select*fromstu_infoLEFTJOINstu_cjONstu_info.姓名=stu_cj.姓名;6.1.3外连接4.右外连接(RIGHTJOIN)右外连接又称为右连接,右连接是左连接的反向连接。以右表为基表,在from子句中使用关键字“rightouterjoin”或关键字“rightjoin”来连接两张表,并使用ON子句来设置连接条件。返回右表中所有的行,即使左表中没有与之匹配的行。两个表在连接过程中除了返回满足连接条件的行以外,还返回右表中不满足条件的行。保证右侧表的数据完全显示,连接时左侧表中的数据能匹配就匹配,没法匹配的话就显示为NULL。返回包括右表中的所有记录和左表中连接字段相等的记录。如下图中,右外连接就是右边一整个圆。6.1.3外连接5.右外连接(RIGHTJOIN)示例:根据两张表都有课程名称这些数据,那么我们用右连接语句将课程信息表和成绩信息表进行连接,以课程信息表作为基表来进行左连接分数信息表,运行语句如下:select*fromstu_infoRIGHTJOINstu_cjONstu_info.姓名=stu_cj.姓名;课堂总结交叉连接123内连接内连接概念;内连接语法格式;内连接示例。外连接左外连接;右外连接;全外连接查询所有的数据;进行交叉连接查询授课内容16.2.1子查询概念26.2.2子查询关键字五
任务2子查询思维导图6.2.1
子查询概念1.基本概念子查询,又叫内部查询,指将一个查询语句嵌套在另一个查询语句中。子查询允许把一个查询嵌套在另一个查询当中。相对于内部查询,包含内部查询的就称为外部查询,或者叫父查询。6.2.2
子查询关键字1.带比较运算符的子查询子查询可以使用比较运算符,包括=、!=、>、>=、<、<=等。比较运算符在子查询时使用业广泛。6.2.2
子查询关键字2.带IN关键字的子查询只有子查询返回的结果列包含一个值时,比较运算符才适用。假如一个子查询返回的结果集是值的列表,这时比较运算符就必须用IN运算符代替。IN运算符可以检测结果集中是否存在某个特定的值,如果检测成功则执行外部的查询。6.2.2
子查询关键字3.带EXISTS关键字的子查询使用EXISTS关键字时,内层查询语句不返回查询的记录,而是返回一个真假。如果内层查询语句查询到满足条件的记录,就返回一个真值(true),否则,将返回一个假值(false)。当返回的值为true时,外层查询语句将进行查询,当返回的值为false时,外层查询语句不进行查询或者查询不出任何记录。6.2.2
子查询关键字4.带ANY关键字的子查询
ANY关键完表示满足其中任意一个条,通常与比较运算一起使用。使用ANY关键字时只要满足内层查询语句返回的结果中的任意一个,就可以通过该条件来执行外层查询语句。语法格式如下:列名比较运算符ANY(子查询)
如果比较运算符是“<”,则表示小于子查询结果集中某一个值;如果是“”则表示至少大于子查询结果集中的某一个值)(或者说大于子查询结果集中的最小值)。6.2.2
子查询关键字5.带ALL关键字的子查询ALL关键字表示满足所有条件,通常与比较运算符一起使用。使用ALL关键字时,只有满足查询语句返回的所有结果,才可以执行外层查询语句。语法格式如下:列名比较运算符ALL(子查询)如果比较运算符是“<”,则表示小于子查询结果集
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 私人飞机应急定位发射器租赁飞行员生命保障服务协议
- 服装鞋帽品牌代理合作协议(含市场调研)
- 物流仓库主管派遣与仓储物流安全管理合同
- 智能停车场车位预约与新能源汽车充电服务协议
- 资产管理公司资产评估师派遣合同
- 区块链技术在智慧城市建设中的应用培训协议
- 海外代购商品售后服务保障协议
- 带车位地下室住宅产权变更合同范本
- 高效口腔医疗器械灭菌袋专业采购协议
- 灾害救援志愿者服务承诺及行动协议
- 康复评定学第三章肌力
- 图形创意(高职艺术设计)PPT完整全套教学课件
- 2023年财会金融-注册会计师-审计(官方)考试历年真题甄选版带答案
- 2023学年完整公开课版粘压阻力
- 基于STM32的平衡车系统设计
- YY/T 0299-2022医用超声耦合剂
- MT 181-1988煤矿井下用塑料管安全性能检验规范
- GB/T 193-2003普通螺纹直径与螺距系列
- 因纳特工商管理综合实训软件V4.00
- 四议两公开工作法课件
- 2022年保山数字产业发展有限责任公司招聘笔试题库及答案解析
评论
0/150
提交评论