表连接SQL

表连接有多种类型,被主流数据库支持的有交叉连接,内连接,外连接。这里简单介绍一下。  

                       

一、内连接:要求组成连接的两个表必须有匹配的记录。                                                                                  

       基本语法: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,可以解决空值匹配问题

        略。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值