CROSS JOIN指定第一个表中的所有行与第二个表中的所有行联接。如果表1中有”
x”
行, 表2中有”
y”
行, 那么交叉连接结果集将具有x * y行。如果未指定匹配的连接列, 通常会发生这种情况。
用简单的话可以说, 如果联接查询中的两个表没有联接条件, 那么Oracle返回其笛卡尔积。
句法
SELECT *
FROM table1
CROSS JOIN table2;
Or
SELECT * FROM table1, table2
以上两种语法都相同, 并且用于笛卡尔积。执行后, 它们提供类似的结果。
【Oracle Cross Join(笛卡尔积)】交叉连接的图像表示
文章图片
Oracle Cross Join示例 让我们采用两个表” customer” 和” supplier” 。
客户表明细
CREATE TABLE"CUSTOMER"
( "CUSTOMER_ID" NUMBER, "FIRST_NAME" VARCHAR2(4000), "LAST_NAME" VARCHAR2(4000)
)
/
文章图片
供应商表详细信息
CREATE TABLE"SUPPLIER"
( "SUPPLIER_ID" NUMBER, "FIRST_NAME" VARCHAR2(4000), "LAST_NAME" VARCHAR2(4000)
)
/
文章图片
执行此查询
SELECT * FROM customer, supplier
输出
文章图片
推荐阅读
- Oracle禁用触发器
- Oracle DELETE语句用法
- .2-浅析express源码之applicaiton模块-app.render
- android studio 2018.4.16 隐式intent,intent—filter意图过滤器
- Android(Building " " Gradle project info 问题)
- play02-Getting started-Creating a new application
- build-web-application-with-golang学习笔记
- 基于appium快速实现H5自动化测试
- UOJ UR#9 App管理器