内连接
Last updated
Last updated
内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值。
内连接分三种:
等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列。
非等值连接:在连接条件使用除等于号(=)运算符以外的其他比较运算符比较被连接的列的列值。这些运算符包括>,≥,≤,<,!>,!<,≠。
自然连接:在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列。
两种语法都可以实现内连接操作:
在select
语句的where
子句中使用比较运算符给出连接条件对表进行连接。
用表名1 inner join 表名2 on 连接条件
语句进行连接,join
指定需要连接的数据表,on
指定连接条件(inner
可省略)
将多个表中的共享列值进行比较,把表中满足连接条件的行组合起来,作为查询结果。
示例:将学生信息表和成绩信息表进行连接。
连接查询中用来连接两个表的条件称为连接条件或连接谓词,其一般格式为:
[<表名1>.]<列名1> <比较运算符> [<表名2.>]<列名2>
当连接运算符为=时,称为等值连接,其查询结果中列出被连接表中的所有列,包括其中的重复列。
使用其他运算符称为非等值连接。这些运算符包括>,≥,≤,<,!>,!<,≠。
示例:根据学生的成绩查询其可以申请的奖学金等级
等值连接与自然连接的区别:
自然连接一定是等值连接,但等值连接不一定是自然连接。
等值连接要求相等的值,不一定是公共属性;而自然连接要求相等的值必须是公共属性。
等值连接不把重复的属性除去,而自然连接需要。