SQL多表连接查询

来源:互联网 发布:微积分教材 知乎 编辑:程序博客网 时间:2024/05/29 10:58

主键的意义:

主键帮助我们主键的意义:
主键帮助我们唯一确定一张表
主键的意义

外键的意义:

保持数据一致性,完整性,主要目的是控制存储在外键表中的数据,外键总是关联唯一的键的字段。
可以有多个外键,但一个外键只关联唯一的键字段
外键的意义

连接查询:

是关系数据库中最主要的查询,是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志,连接操作给用户带来很大的灵活性,他们可以在任何时候增加新的数据类型。为不同实体创建新的表,然后通过连接进行查询。

连接查询分为:内连接查询,外连接查询

内连接:

连接查询结果集中仅包含满足条件的行,内连接是SQL Server缺省的连接方式。
这里写图片描述

内连接查询与Select from where = 方法等效(搜索效率和准确性)
这里写图片描述

外连接:

连接查询结果集中既包含那些满足条件的行,还包含其中某个表的全部行,有3种形式的外连接:左外连接、右外连接、全外连接。

  • JOIN: 如果表中有至少一个匹配,则返回行
  • LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
  • RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
  • FULL JOIN: 只要其中一个表中存在匹配,就返回行唯一确定一张表

内连接和外连接的不同适用情况

需要查找两张表同时存在的数据,使用内连接
需要查找两张表中一张表存在,另一张表不存在的时候使用左外链接 或 右外链接

例子:
内连接的查询结果都是满足连接条件的元组。但有时我们也希望输出那些不满足连接条件的元组信息。比如,我们想知道每个学生的选课情况,包括已经选课的学生(这部分学生的学号在学生表中有,在选课表中也有,是满足连接条件的),也包括没有选课的学生(这部分学生的学号在学生表中有,但在选课表中没有,不满足连接条件),这时就需要使用外连接。

W3School多表连接查询

0 0