内连接

内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值。

内连接分三种:

  1. 等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列

  2. 非等值连接:在连接条件使用除等于号(=)运算符以外的其他比较运算符比较被连接的列的列值。这些运算符包括>,≥,≤,<,!>,!<,≠。

  3. 自然连接:在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列

两种语法都可以实现内连接操作:

  • select 语句的where 子句中使用比较运算符给出连接条件对表进行连接。

  • 表名1 inner join 表名2 on 连接条件 语句进行连接,join 指定需要连接的数据表,on 指定连接条件(inner 可省略)

自然连接

将多个表中的共享列值进行比较,把表中满足连接条件的行组合起来,作为查询结果。

示例:将学生信息表和成绩信息表进行连接。

等值与非等值查询

连接查询中用来连接两个表的条件称为连接条件连接谓词,其一般格式为:

[<表名1>.]<列名1> <比较运算符> [<表名2.>]<列名2>

当连接运算符为=时,称为等值连接,其查询结果中列出被连接表中的所有列,包括其中的重复列。

使用其他运算符称为非等值连接。这些运算符包括>,≥,≤,<,!>,!<,≠。

示例:根据学生的成绩查询其可以申请的奖学金等级

等值连接与自然连接的区别:

  1. 自然连接一定是等值连接,但等值连接不一定是自然连接

  2. 等值连接要求相等的值不一定是公共属性;而自然连接要求相等的值必须是公共属性。

  3. 等值连接不把重复的属性除去,而自然连接需要

Last updated