- 5
- 0
- 约1.9千字
- 约 64页
- 2022-08-04 发布于安徽
- 举报
项目八 高级数据查询; 涉及多表数据的查询或复杂的单表查询问题要用高级查询来完成。高级查询包括连接查询、子查询和集合查询等操作,连接查询又分为交叉连接、内连接、外连接和自连接,子查询可以嵌套在查询语句中使用,也可以在更新语句中使用。
本项目将对“学生成绩管理”数据库的数据表作高级查询操作,并在更新语句中应用子查询以实现更强大的数据更新能力。;知识目标:
识记连接查询、子查询、集合查询相关语句的语法。
能力目标:
能用连接查询或子查询解决多表查询或复杂的单表查询问题。
能用集合查询解决一些查询问题。;任务8.1; 任务8.1;;【相关知识】;;;;【任务实施】;【任务实施】;【任务实施】;【任务实施】;【任务实施】;【任务实施】;【任务实施】;【任务实施】;【任务实施】;任务8.2;;【相关知识】;;;;【任务实施】;【任务实施】;【任务实施】;【任务实施】;【任务实施】;任务8.3;;【相关知识】;子查询是指一个查询块嵌套在SELECT、INSERT、UPDATE、DELETE等语句中的WHERE或其他子句中进行查询。SQL语言允许多层嵌套查询,即一个子查询中还可以嵌套其他子查询。
根据子查询执行是否依赖于外部查询,子查询可分为相关子查询与不相关子查询两大类。不相关子查询是指不依赖于外部查询的子查询,反之,则称为相关子查询;不相关子查询先于外部查询执行,子查询得到的结果集不会显示,而是传给外部查询使用,不相关子查询总共执行一次;相关子查询的执行依赖于外部查询,即需要外部查询给它传递值,与外部查询正在判断的记录有关,外部查询执行一行,相关子查询就执行一次。;子查询返回的值要被外部查询的[NOT]IN、[NOT]EXISTS、比较运算符、ANY(SOME)、ALL等操作符使用,根据操作符的不同,子查询可以分为以下几种:
1.[NOT]IN子查询
在嵌套查询中,子查询的结果往往是一个集合,用谓词IN判断某列值是否在集合中,这是最常用的一种子查询,IN前面加NOT表示判断某列值是否不在集合中。IN子查询一般是不相关子查询。;2.比较子查询
带有比较运算符的子查询是指外部查询与子查询之间用比较运算符进行连接。当用户确切知道内层查询返回单个值时,可以用、、=、=、=、!=或等比较运算符。比较子查询可能是不相关子查询,也可能是相关子查询,要看具体情况。
3.[NOT]EXISTS子查询
使用EXISTS 谓词来判断子查询是否返回任何记录,当子查询的结果不为空集(即存在匹配行)时,返回逻辑真值。EXISTS前面可以加NOT用来判断是否不存在匹配行。EXISTS子查询是相关子查询。;【任务实施】;【任务实施】;【任务实施】;【任务实施】;【任务实施】;【任务实施】;【任务实施】;【任务实施】;【任务实施】;【任务实施】;任务8.4;;【相关知识】;1.从一个表向另一个表复制多行多列数据
利用子查询,可以把查询结果(一行或多行数据)插入到表中,实现从一个表向另一个表导入数据的功能。
语法格式如下:
INSERT INTO 表名[(字段列表)] SELECT语句;
说明:
字段列表中字段的个数、数据类型必须和SELECT语句中查询的数据项个数及数据类型一一对应。;2.嵌套修改
利用子查询返回的单个值,可以实现用查询结果修改表中某个字段值的目的。
语法格式如下:
UPDATE 表名
SET 字段名=(返回单个值的子查询)
[WHERE 条件];3.UPDATE和DELETE语句的条件子句带子查询
有时候,用UPDATE、DELETE语句修改、删除数据时的筛选条件比较复杂,甚至需要通过另一个表的数据来判断,如果在UPDATE、DELETE语句的条件子句中使用子查询,基本可以满足这种筛选需求。;【任务实施】;【任务实施】;【任务实施】;【任务实施】;【任务实施】;【任务实施】;任务8.5;;集合查询可以把一些复杂的查询问题简单化,MySQL目前只支持并运算,并运算通俗讲就是合并查询,将多个查询结果合并到一起。
语法格式如下:
查询1
UNION | UNION ALL
查询2
说明:
查询1和查询2的结果集的字段个数和数据类型要一 一对应。
UNION ALL是简单合并,重复行保留,UNION则会合并后去掉重复行。
UNION和JOIN的区别:都是合并操作,但方向不同,前者是行,后者是列。;【任务实施】;【任务实施】;THANKS!
您可能关注的文档
- MySQL数据库原理与应用项目化教程教学课件(共11单元)项目1—认识数据库.pptx
- MySQL数据库原理与应用项目化教程教学课件(共11单元)项目2—数据库设计.pptx
- MySQL数据库原理与应用项目化教程教学课件(共11单元)项目3—MYSQL环境部署.pptx
- MySQL数据库原理与应用项目化教程教学课件(共11单元)项目4—数据库的创建与管理.pptx
- MySQL数据库原理与应用项目化教程教学课件(共11单元)项目5—创建与管理数据表.pptx
- MySQL数据库原理与应用项目化教程教学课件(共11单元)项目6—数据更新.pptx
- MySQL数据库原理与应用项目化教程教学课件(共11单元)项目7—简单数据查询.pptx
- MySQL数据库原理与应用项目化教程教学课件(共11单元)项目9—查询优化.pptx
- MySQL数据库原理与应用项目化教程教学课件(共11单元)项目10—编程访问.pptx
- MySQL数据库原理与应用项目化教程教学课件(共11单元)项目11—数据库的安全管理.pptx
- MySQL数据库原理与应用项目化教程课件-MYSQL环境部署.pptx
- MySQL数据库原理与应用项目化教程课件-编程访问.pptx
- MySQL数据库原理与应用项目化教程课件-查询优化.pptx
- MySQL数据库原理与应用项目化教程课件-创建与管理数据表.pptx
- MySQL数据库原理与应用项目化教程课件-高级数据查询.pptx
- MySQL数据库原理与应用项目化教程课件-简单数据查询.pptx
- MySQL数据库原理与应用项目化教程课件-认识数据库.pptx
最近下载
- 品牌建设实施方案.doc VIP
- 福建师范大学2023-2024学年第2学期《高等数学(下)》期末试卷(A卷)附标准答案.pdf
- 因子表现与模型解释力度分析报告:CNE7多因子模型.pdf
- 加强化工过程安全管理 实现安全治理模式向预防转型课件.pptx VIP
- 注册安全工程师《管理》知识点汇总.pdf VIP
- 【通用】2026元旦主题班会:马年猜猜乐,新春祝福版(共74题)【课件】.pptx
- 2023年中级消防设施操作员理论考试习题库(含答案).pdf VIP
- 2025至2030年中国汽车座椅减振器行业发展研究报告.docx
- 注册安全工程师《管理》考点.pdf VIP
- 无人机电力巡检实训.pptx VIP
原创力文档

文档评论(0)