SQL92 VS SQL 99 语法
92语法
 内连接
 from table1, table2 where table1.col = table2.col
 外连接 + 放在 从表
 左连接: from table1, table2 where table1.col = table2.col(+)
 右连接: from table1, table2 where table1.col(+) = table2.col
全连接 :无
 99语法
 内连接
 [inner]JOIN … ON … ,
 左连接
 LEFT [OUTER] JOIN … ON … ,
 右连接
 RIGHT [OUTER] JOIN … ON … 和
 全连接
 FULL [OUTER] JOIN … ON …
 
SQL92连接条件 写在 where
SQL99连接条件 写在 on
Oracle 多表连接
支持 多表连接且 92、99 语法都支持
SQL Server 多表连接
支持99语法
MySQL 多表连接
支持99 内连接 、 左连接 、右连接
不支持99 全连接 需要借助 左外连接,右外连接,结合Union 、Union ALL 来实现全外连接的功能
自然连接 Nutural join
会自动把 两张 表的 所有相同字段,进行内连接
 其实自然连接就是自动生成连接条件的内连接而已
 select A.ID ,B.Name
 from A inner B
 on A.ID = B.ID
select A.ID ,B.Name
 from A Natural B

USING
USING 指定了具有相同的字段名称
 但 JOIN 。。。。USING 必须要有JOIN
 select A.ID ,B.Name
 join A ,B
 on A.ID=B.ID
 可以简写
 select A.ID ,B.Name
 join A ,B
 USING(ID)