SQL学习笔记-表连接
1.内连接 [inner] join
通过比较被联接的表所共有的字段,把多个表联接起来
select 列名 from 表名1 [inner] join 表名2 on 表名1.列名 <比较运算符> 表名2.列名
2.左外连接 left [outer] join
左外联接的结果表中除了满足连接条件的行,还包括左表中的所有剩余行,
但不包括右表中的不匹配行,使用左外联接时,请注意:
(1)不满足联接条件的记录将显示空值
(2)左联接可以显示左表中所有记录
(3)可以把 LEFT OUTER JOIN 简写为 LEFT JOIN
select 列名 from 表名1 left [outer] join 表名2 on 表名1.列名 <比较运算符> 表名2.列名
3.右外连接 right [outer] join
右外联接结果表中除了满足连接条件的行,还包括右表中的所有剩余行,
但不包括左表中的不匹配行,使用右外联接时,请注意:
(1)不满足联接条件的记录将显示空值
(2)右联接可以显示右表中所有记录
(3)可以把 RIGHT OUTER JOIN 简写为 RIGHT JOIN
select 列名 from 表名1 right [outer] join 表名2 on 表名1.列名 <比较运算符> 表名2.列名
4.完整外连接, full [outer] join
即左右外连接的结合
select 列名 from 表名1 full [outer] join 表名2 on 表名1.列名 <比较运算符> 表名2.列名
5.交叉链接,即返回笛卡尔积 cross join
select 列名 from 表名1 cross join 表名2
6.自连接(self-join)
使用自联接,可以查询一个表中各记录之间的关系
使用自联接时,应注意:
(1)引用表的两份副本时,必须使用表的别名
(2)生成自联接时,表中每一行都和自身比较一下,并生成重复的记录,
(3)使用 WHERE 子句来消除这些重复记录
作者:唐小熊
出处:http://www.cnblogs.com/IT-Bear/
关于作者:一头写代码的熊
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接
如有问题,可以通过kumat@foxmail.com 联系我,非常感谢。