SQL Cross Join
What is Cross Join in SQL?
The SQL CROSS JOIN produces a result set which is the number of rows in the first table multiplied by the number of rows in the second table if no WHERE clause is used along with CROSS JOIN.This kind of result is called as Cartesian Product.
If WHERE clause is used with CROSS JOIN, it functions like an INNER JOIN.
Pictorial Presentation of SQL Cross Join syntax
An alternative way of achieving the same result is to use column names separated by commas after SELECT and mentioning the table names involved, after a FROM clause.
SELECT * FROM table1 CROSS JOIN table2;
Here is an example of cross join in SQL between two tables.
Sample table: foods
Sample table: company
To get item name and item unit columns from foods table and company name, company city columns from company table, after a CROSS JOINING with these mentioned tables, the following SQL statement can be used:
SELECT foods.item_name,foods.item_unit, company.company_name,company.company_city FROM foods CROSS JOIN company;
SELECT foods.item_name,foods.item_unit, company.company_name,company.company_city FROM foods,company;
How cross joining happend into two tables
ITEM_NAME ITEM_UNIT COMPANY_NAME COMPANY_CITY --------------- ---------- --------------- --------------- Chex Mix Pcs Order All Boston Cheez-It Pcs Order All Boston BN Biscuit Pcs Order All Boston Mighty Munch Pcs Order All Boston Pot Rice Pcs Order All Boston Jaffa Cakes Pcs Order All Boston Salt n Shake Pcs Order All Boston Chex Mix Pcs Jack Hill Ltd London Cheez-It Pcs Jack Hill Ltd London BN Biscuit Pcs Jack Hill Ltd London Mighty Munch Pcs Jack Hill Ltd London Pot Rice Pcs Jack Hill Ltd London Jaffa Cakes Pcs Jack Hill Ltd London Salt n Shake Pcs Jack Hill Ltd London Chex Mix Pcs Akas Foods Delhi Cheez-It Pcs Akas Foods Delhi BN Biscuit Pcs Akas Foods Delhi Mighty Munch Pcs Akas Foods Delhi Pot Rice Pcs Akas Foods Delhi Jaffa Cakes Pcs Akas Foods Delhi Salt n Shake Pcs Akas Foods Delhi Chex Mix Pcs Foodies. London ......... .........
More presentaion of the said output:
CROSS JOINS: Relational Databases
Key points to remember
Click on the following to get the slides presentation -
Outputs of the said SQL statement shown here is taken by using Oracle Database 10g Express Edition.
Practice SQL Exercises
- SQL Exercises, Practice, Solution
- SQL Retrieve data from tables [33 Exercises]
- SQL Boolean and Relational operators [12 Exercises]
- SQL Wildcard and Special operators [22 Exercises]
- SQL Aggregate Functions [25 Exercises]
- SQL Formatting query output [10 Exercises]
- SQL Quering on Multiple Tables [8 Exercises]
- FILTERING and SORTING on HR Database [38 Exercises]
- SQL JOINS
- SQL SUBQUERIES
- SQL Union[9 Exercises]
- SQL View[16 Exercises]
- SQL User Account Management [16 Exercise]
- Movie Database
- BASIC queries on movie Database [10 Exercises]
- SUBQUERIES on movie Database [16 Exercises]
- JOINS on movie Database [24 Exercises]
- Soccer Database
- BASIC queries on soccer Database [29 Exercises]
- SUBQUERIES on soccer Database [33 Exercises]
- Hospital Database
- Employee Database
- More to come!
Want to improve the above article? Contribute your Notes/Comments/Examples through Disqus.
SQL: Tips of the Day
How to declare a variable in MySQL?
You can initialize a variable using SET or SELECT statement:
SET @start = 1, @finish = 10;
SELECT @start := 1, @finish := 10; SELECT * FROM places WHERE place BETWEEN @start AND @finish;
- New Content published on w3resource:
- HTML-CSS Practical: Exercises, Practice, Solution
- Java Regular Expression: Exercises, Practice, Solution
- Scala Programming Exercises, Practice, Solution
- Python Itertools exercises
- Python Numpy exercises
- Python GeoPy Package exercises
- Python Pandas exercises
- Python nltk exercises
- Python BeautifulSoup exercises
- Form Template
- Composer - PHP Package Manager
- PHPUnit - PHP Testing
- Laravel - PHP Framework