Skip to main content
Documents
Clauses StatementsKeywordsExpressionsFunctionsIndexesPerformance Optimization

MySQL FROM Clause

The `FROM` clause in MySQL is used to specify the table or tables from which to retrieve or manipulate data. It is an essential part of SQL queries like `SELECT`, `UPDATE`, and `DELETE`, as it defines the data source.

Usage

The `FROM` clause is used in SQL statements to identify which table(s) to query or modify. It is placed after the initial SQL keyword and before any additional clauses, such as `WHERE` or `ORDER BY`.

SELECT column1, column2, ...
FROM table_name
[WHERE condition];

In this syntax, `FROM table_name` specifies the source table for the requested data.

Examples

1. Basic Select

SELECT *
FROM products;

This query retrieves all columns from the `products` table, displaying every row.

2. Selecting Specific Columns

SELECT title, price
FROM books;

Here, the query fetches only the `title` and `price` columns from the `books` table, providing a focused dataset.

3. Using Joins for Multiple Tables

SELECT orders.order_id, customers.name
FROM orders
JOIN customers ON orders.customer_id = customers.customer_id;

In this example, the `FROM` clause is used with a `JOIN` to combine data from the `orders` and `customers` tables based on a common field (`customer_id`).

4. Other Join Types

SELECT employees.name, departments.department_name
FROM employees
LEFT JOIN departments ON employees.department_id = departments.department_id;

This query demonstrates a `LEFT JOIN`, which retrieves all records from the `employees` table and the matched records from the `departments` table. When there is no match, the result is `NULL` from the `departments` table.

Tips and Best Practices

  • Include only necessary tables. Limit the `FROM` clause to only the tables required to fulfill the query to enhance performance.
  • Use table aliases. When dealing with multiple tables, use aliases to simplify references and improve readability.
  • Combine with filtering clauses. Utilize `WHERE` or `HAVING` with `FROM` to refine the results and improve efficiency.
  • Ensure clear join conditions. When joining tables, clearly specify join conditions to avoid unexpected results and ensure data integrity.
  • Utilize subqueries for complex datasets. Use subqueries within the `FROM` clause to derive data that needs further processing, optimizing query logic.
  • Consider performance implications of join types. Different join types (e.g., `LEFT JOIN`, `RIGHT JOIN`) can have various performance impacts. Choose the most appropriate one for your query's needs.
  • Stay aware of syntax variations. While MySQL generally supports standard SQL syntax, always check for any peculiarities or changes in syntax across different MySQL versions.

SQL Upskilling for Beginners

Gain the SQL skills to interact with and query your data.
Start Learning for Free