1.CROSS JOIN
除了内连接(inner jion),外连接(left join ,right join,full join),还支持交叉连接。交叉连接返回被连接两个表的卡迪尔乘积,即:
1.2 CROSS JOIN 语法
select 列名
from 表名1 cross join 表名2
where 表名1.列名=表名2.列名
1.3 CROSS JOIN 实例
样例数据:
要求:用cross join 语句找出两表中学生序号相同的学生,并将其所有字段组合在一个表中。
select a.序号,b.姓名,a.班级,a.年龄,b.语文,b.数学,b.地理,b.历史
from Table_4 as b cross join Table_5 as a
where a.序号=b.序号
执行结果:
我们可以发现,用下面语句,效果是一致的:
select a.序号,b.姓名,a.班级,a.年龄,b.语文,b.数学,b.地理,b.历史
from Table_4 as b , Table_5 as a
where a.序号=b.序号
注:实际上将cross join替换成“,”,效果相同。
如果不加后面的where条件语句,将会返回32行。