第六单元 高级查询(课件)- 《网站数据库应用技术SQL Server》同步教学(水利水电版)

2024-03-21
| 45页
| 53人阅读
| 1人下载
普通

内容正文:

第六单元 高级查询 任务6.1多表连接查询 任务6.2使用子查询 6.1.1 情景描述 6.1.2问题分析 6.1.3 解决方案 6.1.4 知识总结 6.1.5 应用实践 任务6.1 多表连接查询 在学生信息管理系统里,需要每学期为每位老师安排教学任务。针对学校的具体情况,需要在排课时间段显示还没有排课的老师的信息,保证每个老师都有教学任务。 6.1.1 情景描述 为了解决上述问题,需要完成以下任务: 1.查询显示所有老师的排课信息,不管有没有教学任务,都要显示老师的信息,如果有排课任务,就在授课表中有对应的课程编号信息;如果没有排课任务,就在对应的课程编号字段显示为NULL。 2.再用条件“课程编号 IS NULL”过滤没有教学任务的教师信息。 3.执行查询语句。 6.1.2问题分析 1.打开SQL Server Management Studio,单击“对象资源管理器”中的“数据库”文件夹下的数据库“学生管理”; 2.单击工具栏上的“新建查询”命令,打开“查询编辑器”; 3.在“查询编辑器”上输入以下代码: 6.1.3 解决方案 4.单击工具栏上的【执行】按钮,如图所示。 SELECT js.教师编号,教师姓名,职称,sk.班级代码,sk.课程编号 FROM 教师 AS js LEFT JOIN 授课 AS sk ON js.教师编号=sk.教师编号 WHERE sk.课程编号 IS NULL 内连接 外连接 交叉连接 6.1.4 知识总结 内连接(INNER JOIN)将两个表中满足连接条件的记录组合在一起,通过比较数据源表间公共列的值,从多个源表检索符合条件的行的操作。 内连接查询可以通过两种方式实现 一种在WHERE子句中指出连接条件 SELECT 字段列表 FROM 表名列表 WHERE 连接条件 另外一种使用INNER JOIN关键字查询。 SELECT 字段列表 FROM 表名1 INNER JOIN 表名2 ON 表名1.字段名=表名2.字段名 内连接 SELECT 学号,姓名,性别,班级名称 FROM 学生,班级 WHERE 学生.班级编号=班级.班级代码 【例6-1】在学生管理数据库里查询显示学生的学号、姓名、性别、班级名称。 ①打开SQL Server Management Studio,在工具栏上单击“新建查询”按钮,打开SQL编辑器,编写如下代码: ②单击工具栏上的【执行】按钮,运行结果如图所示。 说明: FROM子句中的表名是要查询的字段所在的表。 可以通过“表名.列名”来引用表中的列,防止两个表中都有同样的字段,引起歧义。 可以在表名的后面使用AS关键字来为表定制表别名,那么就可以用“表别名.列名”来引用表中的列。 SELECT 班级代码,班级名称,b.专业代码,专业名称 FROM 班级 AS b ,专业 AS z WHERE b.专业代码=z.专业代码 【例6-2】在学生管理数据库里查询显示班级代码、班级名称、专业代码、专业名称。 ①打开SQL Server Management Studio,在工具栏上单击“新建查询”按钮,打开SQL编辑器,编写如下代码: ②单击工具栏上的【执行】按钮,运行结果如图所示。 说明: 表名后面用AS关键字对表重命名,用b代替班级表,用z代替专业表。 使用“表别名.列名”来区分班级表和专业表共有的“专业代码”列。 SELECT xs.学号,姓名,kc.课程编号,课程名称,成绩 FROM 选课 AS xk , 学生 AS xs ,课程 AS kc WHERE xk.学号=xs.学号 AND xk.课程编号 =kc.课程编号 【例6-3】在学生管理数据库里查询显示学号、姓名、课程编号、课程名、成绩。 ①打开SQL Server Management Studio,在工具栏上单击“新建查询”按钮,打开SQL编辑器,编写如下代码: ②单击工具栏上的【执行】按钮,运行结果如图所示。 说明: 查询显示的结果在选课表、学生表和课程表三张表中。 表名后面用AS关键字对表重命名,用xk代替选课表,用xs代替学生表,用kc代替课程表。 选课表和学生表都有“学号”字段,在查询语句中使用到“学号”字段,就用“表别名.列名”来区是哪个表中的列;同理,也要区分选课表和课程表的公共字段“课程编号”。 在WHERE的连接条件中是三个表的连接,区分表之间关联的列,选课表和学生表之间的关联,选课表与课程表之间有关联,使用AND运算符将两个关联条件组合在一起。 SELECT 学

资源预览图

第六单元 高级查询(课件)- 《网站数据库应用技术SQL Server》同步教学(水利水电版)
1
第六单元 高级查询(课件)- 《网站数据库应用技术SQL Server》同步教学(水利水电版)
2
第六单元 高级查询(课件)- 《网站数据库应用技术SQL Server》同步教学(水利水电版)
3
第六单元 高级查询(课件)- 《网站数据库应用技术SQL Server》同步教学(水利水电版)
4
第六单元 高级查询(课件)- 《网站数据库应用技术SQL Server》同步教学(水利水电版)
5
第六单元 高级查询(课件)- 《网站数据库应用技术SQL Server》同步教学(水利水电版)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。