Some parts in the output code are omitted for clarity reasons.
If two tables in a join query have no join condition, then Oracle Database returns their Cartesian product. Oracle combines each row of one table with each row of the other. (Oracle SQL Reference Cartesian Products Subsection)
Oracle and Snowflake are also compatible with the ANSI Cross Join syntax that has the same behavior of a cartesian product.
No special transformation is performed for this kind of Join since Snowflake supports the same syntax.
Sample Source Patterns
Order by clause was added because the result order may vary between Oracle and Snowflake.
Since the result set is too large, Row Limiting Clause was added. You can remove it to retrieve the entire result set.
-- Resulting rowsSELECT*FROM hr.employees, hr.departmentsORDER BY first_nameFETCHFIRST5ROWS ONLY;-- Resulting total rowsSELECTCOUNT(*) FROM hr.employees, hr.departments;
-- Resulting rowsSELECT*FROMhr.employees,hr.departmentsORDER BY first_nameFETCHFIRST5ROWS ONLY;-- Resulting total rowsSELECTCOUNT(*) FROMhr.employees,hr.departments;
-- Resulting rowsSELECT*FROMhr.employeesCROSS join hr.departmentsORDER BY first_nameFETCHFIRST5ROWS ONLY;-- Resulting total rowsSELECTCOUNT(*) FROMhr.employeesCROSS join hr.departments;
Known issues
1. Results ordering mismatch between languages
The result of the query will have the same content in both database engines but the order might be different if no Order By clause is defined in the query.