SQL中的内连接与外连接

连接运算格式

金沙官网线上 1

链接运算由两部分构成:连接类型和连接条件

连接类型可分为:

  • INNER JOIN 内连接
  • LEFT OUTER JOIN   左外连接
  • RIGHT  OUTER JOIN  右外连接
  • FULL OUTER JOIN 全外连接

连接条件可分为

  • NATURAL   自然连接(去掉重复属性)
  • ON   连接条件(保留重复属性)
  • USING 属性名1,属性名2… (保留指定重复属性)

具体的组合有以下几种形式

注意:MYSQL没有全外连接

  • table1 INNER JOIN table2 ON 链接条件

金沙官网线上,SELECT *
FROM teacher INNER JOIN course
ON teacher.tn = course.tn

金沙官网线上 2

上面的SQL语句中做了等值内连接,我们看到tn属性是重复的

  • table1 INNER JOIN table2 USING (公共属性名)

SELECT *
FROM teacher INNER JOIN course
USING (tn)

金沙官网线上 3

以USING中的属性作为连接条件(属性值相等才连接),并去掉重复属性(tn)

  • table1 LEFT JOIN table2 ON 链接条件

SELECT *
FROM teacher LEFT OUTER JOIN course
ON teacher.tn = course.tn

金沙官网线上 4

左外连接会保留table1中的元组在结果集中不丢失,使用ON条件,不去掉重复元组

  • table1 LEFT JOIN table2 USING (tn)

SELECT *
FROM teacher LEFT OUTER JOIN course
USING (tn)

金沙官网线上 5
效果与上图一致,只是去掉重复属性(tn)

  • table1 RIGHT JOIN table2 USING (tn)

SELECT *
FROM teacher RIGHT OUTER JOIN course
USING (tn)

金沙官网线上 6
保留table2中的元组

  • table1 NATURAL LEFT/RIGHT OUTER JOIN table2

SELECT *
FROM teacher  NATURAL LEFT OUTER JOIN course

金沙官网线上 7
这个就是自然连接了,自然连接只能用在外连接当中,并且使用自然连接是两个表中的公共属性都需要进行等值判断

http://www.cnblogs.com/xidongyu/articles/5980407.html

关于关系代数连接运算的介绍请查看下面链接

本文由金沙官网线上发布于数据库,转载请注明出处:SQL中的内连接与外连接

您可能还会对下面的文章感兴趣: