目录

  • 第1单元    数据库系统导论
    • ● 任务1.1  数据库基本概念
    • ● 任务1.2  设计E—R 图
    • ● 任务1.3   将E-R图转换成关系模型
    • ● 任务1.4   练习与作业
    • ● 教与学参考资源
  • 第2单元   认识SQL SERVER数据库
    • ● 任务2.1 数据库应用场景
    • ● 任务2.3  SQL  Server 数据库安装
    • ● 任务2.4 SQL Server 的管理
    • ● 任务2.5  使用SSMS连接数据库
    • ● 教与学参考资源
  • 第3单元  创建和管理数据库
    • ● 任务3.1 创建数据库
    • ● 任务3.1(2)  命令创建数据库
    • ● 任务3.2 管理数据库
    • ● 任务3.2(2) 查看、收缩数据库
    • ● 教与学参考资源
  • 第4单元 创建和管理数据库表
    • ● 任务4.1 SQL Server常用数据类型
    • ● 任务4.2  创建数据表
    • ● 任务4.3  命令创建表
    • ● 任务4.4 实施完整性约束
    • ● 教与学参考资源
  • 第 5 单元   查询数据表
    • ● 任务5.1 单表数据查询
    • ● 任务5.2 多表数据查询
    • ● 任务5.3 嵌套查询
    • ● 任务5.4 合并查询结果
    • ● 教与学参考资源
  • 第6单元  管理表中数据
    • ● 任务6.1   添加数据
    • ● 任务6.2  修改数据
    • ● 任务6.3  删除数据
    • ● 习题与训练
    • ● 教与学参考资源
  • 第7单元  使用索引和视图
    • ● 任务7.1  使用索引
    • ● 使用T-SQL创建索引
    • ● 任务7.2  使用视图
    • ● 使用T-SQL语句创建视图
    • ● 教与学参考资源
  • 第8单元 Transact-SQL语言编程
    • ● 任务8.1   声明和使用变量
    • ● 任务8.2   流控语句
    • ● 任务8.3   常用系统函数
    • ● 任务8.4   创建自定义函数
    • ● 教与学参考资源
  • 第9单元  事务和锁
    • ● 任务   9.1     事务
    • ● 事务的基本操作
    • ● 任务9.2    锁
    • ● 死锁及避免方法(例)
    • ● 教与学参考资源
  • 第10单元  创建和管理存储过程
    • ● 任务10.1 存储过程及优点
    • ● 任务10.2 创建和执行存储过程
    • ● 任务10.3   存储过程参数和返回值
    • ● 任务10.4 修改、删除、 重新编译存储过程
    • ● 教与学参考资源
  • 第11单元 创建和管理触发器
    • ● 任务1 触发器的作用和分类
    • ● 任务2 触 发器的创建与执行
    • ● 任务3 创建级联触发器
    • ● 任务4 修改、删除触发器
  • 第12单元 创建和使用游标
    • ● 任务1  游标的作用及使用步骤
    • ● 任务2  创建基本游标
    • ● 任务3  使用变量保存游标数据
    • ● 任务4  使用循环环提取游标数据
  • 第13单元 SQL Server用户管理
    • ● 任务1数据库安全管理概述
    • ● 任务2SQL Server 安全机制
    • ● 任务3 账号、角色及权限管理
    • ● 任务4数据库完整性管理
    • ● 任务5 数据库的备份与还原
    • ● 任务6   数据的导入与导出
  • 第14单元  综合应用案例
    • ● 概述
    • ● 需求分析
    • ● 概述设计-逻辑设计- 物理设计
    • ● 编写数据库设计说明书
  • 学生做项目成果展示
    • ● 项目一  设计《我班同学数据库》
    • ● 项目二  设计《(Teaching)教学数据库》
    • ● 项目三  数据库应用系统设计开发项目
    • ● 项目四 《华夏-宿舍管理系统》设计开发
    • ● 项目五   综合实训大作业
    • ● 综合实训团队项目大作业
    • ● 学生完成项目摘录展示
  • 总复习与综合训练
    • ● 总复习
    • ● 综合训练一
    • ● 综合训练二
    • ● 综合训练三
    • ● 综合训练四
    • ● 综合训练五
    • ● 简答综合训练
  • 在线专题测验
    • ● 自检自测一
    • ● 自检自测二
  • 拓展   数据库管理工具平台  Navicat
    • ● 关于Navica
    • ● Navicat 的系统需求
    • ● Navicat 的用户界面
    • ● Navicat 创建数据库对象
    • ● 在Navicat创建的SQL 程序脚本
    • ● 在Navicat创建的SQL  server 脚本(2)
    • ● 综合实训(1)
    • ● 综合实训(2)
  • 技术拓展   (MYSQL)数据库技术与应用
    • ● MYSQL技术
  • 教与学图片剪影
    • ● 教学团队
    • ● 学生学习实训
    • ● 活动与交流
任务5.2 多表数据查询

任务5.2 多表数据查询

    如果我们需要同时查看学生的基本信息及其选课信息就需要用到两张表S(学生表)和SC(选课表)的数据,这时就需要进行多表查询。多表查询需要将表进行连接。

    如果多表查询时未加表连接条件则会出现如图所示结果。该连接称为交叉连接,交叉连接的结果称为笛卡儿积。笛卡儿积结果中列数是两张表列数之和,行数是两张表行数之积。

   笛卡儿积的结果对于我们来讲是没有意义的,我们需要对表加上连接条件。表连接分为内连接和外连接两种方式。命令也有SQL ServerANSI标准语法两种写法,其中ANSI标准语法是通用的。

SQL Server语法格式:

SELECT 列名或表达式,……

     FROM 1,表2……

        WHERE 连接条件1 AND 连接条件2 ……


ANSI语法格式:

SELECT 列名或表达式,……

    FROM 1 JOIN 2  ON 连接条件

      JOIN 3  ON 连接条件2……



1.内连接

内连接包括有等值连接、自然连接、不等连接、自连接等连接方式。

1)等值连接:连接条件为两个字段值相等,可以是不同字段值相等。

【例5-24】查询S(学生表)中学生的基本信息及SC(选课表)中该生

相关选课信息。我们分别用两种语法实现该查询。


2)自然连接:自然连接时特殊的等值连接,它要求连接条件必须是公

共字段相等,且结果集中没有重复列。而等值连接结果集中可以有重

复列。

【例5-25】用自然连接方式查询S(学生表)中学生“李勇”的基本

信息及SC(选课表)中该生的选课信息。只需在【例5-23】基础上去

掉重复字段SNO即可。


3)比较连接:连接条件使用比较运算符。即连接条件不用等号。

【例5-27】为每位教师查询一下非自己讲授的课程。

4)自连接:把一张表模拟成两张表,自己和自己进行连接查询。

【例5-28】查询所有年龄比刘晨小的学生姓名、性别、出生日期和

刘晨的出生日期。

2.外连接外连接包括左外连接(LEFT JOIN)、

右外连接(RIGHT JOIN)和全外连接(FULL JOIN)三种。

内连接主要查询两张表中匹配的记录,外连接可以查询两张表中所有

匹配和非匹配的记录。外连接只有ANSI标准语法格式。

1)左外连接(LEFT JOIN):查询JOIN关键字左边表中所有的记录及

右边表中匹配的记录,如果右边表没有匹配记录,则相应字段显示为

空值。

2)右外连接(RIGHT JOIN):查询JOIN关键字右边表中所有的记录

及左边表中匹配的记录,如果左边表没有匹配记录,则相应字段显示

为空值。

3)全外连接(FULL JOIN):显示两张表中所有匹配和非匹配记录。

非匹配记录的相应字段为空值。