数据库之多表连接

在学习数据库视频的时候,学到了表与表之间的连接方式,并结合《数据库系统原理》对多表的连接有了一个初步的了解。表与表的连接方式有:基本连接,内连接,外连接,交叉连接

第一:内连接

学习感受:基本连接相当于是利用外键将两个表连接起来,然后再利用筛选条件从它们中选择部分属性形成新的表。

示例:        

基本原则:

  1. Select子句列表中,每个目标列前都要加上基本表名称。
  2. From子句应包括所有使用的基本。
  3. Where字句应定义一个同等连接。

第二:内连接

语法格式:          

特点:主要有关键字inner来构成内连接的连接方式

示例:

分类:

  1. 等值连接:在from子句中使用关键字“inner join”或“join”连接两张表时,如若在on子句的连接条件中使用运算符“=”(即等号),即进行相等性测试,则此连接方式称为等值连接,也称为相等连接。
  2. 非等值连接:在from子句中使用关键字“inner join”或“join”连接两张表时,如若再on子句中的连接条件中使用除运算符“=”之外的其他比较运算符,即进行不相等的测试,则此连接方式称为非等值连接。
  3. 自连接:在from子句中使用关键字“inner join”或“join”连接两张表时,可以将一个表与她自身进行连接,这种连接方式称为自连接。在使用自连接时,需要为表指定两个不同的别名,且对所有查询列的引用必须使用表别名限定

第三:外连接

使用规律:在外连接中参与连接的表有主从之分,以主表的每行数据去匹配从表中的数据行,如果符合连接条件,则直接返回到查询结果中;如果主表中的行在从表中没有找到匹配的行,主表的行仍然保留,并返回到查询结果中,相应的从表中的行被填上空值后也返回到查询结果中。

示例:

外连接中参与连接的表有主从之分,以主表a的每行数据去匹配从表b中的数据行,如果符合连接条件,则直接返回到数据查询结果中,如果主表a中的行在从表b中没有找到匹配的行,主表a的行仍然保留,并返回到查询结果中,相应的从表b中的行被填上空值后也返回到查询结果中

第四:交叉连接

示例:

猜你喜欢

转载自blog.csdn.net/yang18831636208/article/details/82260866