MySQL: FROM Clause
This MySQL tutorial explains how to use the MySQL FROM clause with syntax and examples.
Description
The MySQL FROM clause is used to list the tables and any joins required for the query in MySQL.
Syntax
The syntax for the FROM Clause in MySQL is:
FROM table1
[ { INNER JOIN
| LEFT [OUTER] JOIN
| RIGHT [OUTER] JOIN } table2
ON table1.column1 = table2.column1 ]
Parameters or Arguments
table1 and table2
The tables used in the MySQL statement. The two tables are joined based on table1.column1 = table2.column1.
Note
Example - With one table
It is difficult to explain the syntax for the MySQL FROM clause, so let's look at some examples.
We'll start by looking at how to use the FROM clause with only a single table.
For example:
SELECT *
FROM order_details
WHERE quantity >= 10
ORDER BY quantity DESC;
In this MySQL FROM clause example, we've used the FROM clause to list the table called order_details. There are no joins performed since we are only using one table.
Example - Two tables with INNER JOIN
Let's look at how to use the FROM clause with two tables and an INNER JOIN.
For example:
SELECT order_details.order_id, customers.customer_name
FROM customers
INNER JOIN order_details
ON customers.customer_id = order_details.customer_id
ORDER BY order_id;
This MySQL FROM clause example uses the FROM clause to list two tables - customers and order_details. And we are using the FROM clause to specify an INNER JOIN between the customers and order_details tables based on the customer_id column in both tables.
Example - Two Tables with OUTER JOIN
Let's look at how to use the FROM clause when we join two tables together using an OUTER JOIN. In this case, we will look at the LEFT OUTER JOIN.
For example:
SELECT products.product_id, inventory.qty_on_hand
FROM products
LEFT OUTER JOIN inventory
ON products.product_id = inventory.product_id
WHERE products.product_name = 'Database Software';
This MySQL FROM clause example uses the FROM clause to list two tables - products and inventory. And we are using the FROM clause to specify a LEFT OUTER JOIN between the products and inventory tables based on the product_id columns in both tables.