链接运算由两部分构成:连接类型和连接条件
连接类型可分为:
连接条件可分为
具体的组合有以下几种形式
注意:MYSQL没有全外连接
SELECT * FROM teacher INNER JOIN course ON teacher.tn = course.tn
上面的SQL语句中做了等值内连接,我们看到tn属性是重复的
SELECT * FROM teacher INNER JOIN course USING (tn)
以USING中的属性作为连接条件(属性值相等才连接),并去掉重复属性(tn)
SELECT * FROM teacher LEFT OUTER JOIN course ON teacher.tn = course.tn
左外连接会保留table1中的元组在结果集中不丢失,使用ON条件,不去掉重复元组
SELECT * FROM teacher LEFT OUTER JOIN course USING (tn)
效果与上图一致,只是去掉重复属性(tn)
SELECT * FROM teacher RIGHT OUTER JOIN course USING (tn)
保留table2中的元组
SELECT * FROM teacher NATURAL LEFT OUTER JOIN course
这个就是自然连接了,自然连接只能用在外连接当中,并且使用自然连接是两个表中的公共属性都需要进行等值判断