表连接有多种类型,被主流数据库支持的有交叉连接,内连接,外连接。这里简单介绍一下。
一、内连接:要求组成连接的两个表必须有匹配的记录。
基本语法:INNER JOIN TAbleX on Condition链接条件 where 查询条件select TableA.feild ,TableB.feild from TableA INNER JOIN TableB on condition where ....
或者:
select TableA.feild ,TableB.feild from TableA INNER JOIN TableB
on TableA.xx = TableB.xx where TableA.xx<9;
或者:
select A.xx ,A.xxx,B.xx,B.xxx from TableA A INNER JOIN TableB B on
A.xxx=B.xxx ( where ....)
或者:
select A.xx ,A.xxx,B.xx,B.xxx from TableA A INNER JOIN TableB B on
A.xxx=B.xxx ( where A.xx<b.xx and A.xxx= B.xxx)
二、交叉连接:可以采用两种方式来定义交叉连接,隐式连接和显示连接。
隐式连接几乎可以被所有数据库系统支持。
select TableA.xxx ,TableA.xx TableB.xx from TableA ,TableB where 查询条件。
select A.xxx ,A.xx B.xx from TableA A,TableB B where 查询条件。
显示连接:cross join
Select TableA.xx,TableA.xxx,TableB.xx from TableA cross join TableB where 查询条件。
使用cross join方式声明的交叉连接 只能支持mysql,SqlServer,Oracle。DB2不支持.
三、自连接:也就是表与自身连接,这样的连接叫自连接。自连接并不是独立于交叉连接,内连接,外连接之外
的一种连接方式。而是一种特例。如果交叉连接,内连接,外连接连接的是自己。那么就是自连接。
四、外连接:outer join,可以解决空值匹配问题
略。
4175

被折叠的 条评论
为什么被折叠?



