Clauses (1/31)
What is a clause in MySQL, and how is it different from a statement?
    Understanding Clauses vs Statements in MySQL

    In MySQL, a **clause** is a component of a SQL statement that performs a specific role, such as filtering, grouping, or ordering data. A **statement**, on the other hand, is a complete SQL command that can be executed by MySQL.

    Key Differences Between Clauses and Statements
    • A **statement** is a complete command, e.g., `SELECT`, `INSERT`, `UPDATE`, `DELETE`.
    • A **clause** is a part of a statement that specifies conditions or operations, e.g., `WHERE`, `GROUP BY`, `HAVING`, `ORDER BY`.
    • Statements can execute independently, but clauses cannot—they only make sense within a statement.
    • Example: In `SELECT name, salary FROM employees WHERE salary > 50000 ORDER BY name;`, the `SELECT ... FROM ...` is the statement, while `WHERE salary > 50000` and `ORDER BY name` are clauses.
    Common MySQL Clauses
    • `WHERE` – filters rows based on conditions.
    • `GROUP BY` – groups rows for aggregation.
    • `HAVING` – filters groups after aggregation.
    • `ORDER BY` – sorts the result set.
    • `LIMIT` – restricts the number of rows returned.

    In essence, clauses are the building blocks of statements. Understanding how to combine them correctly allows you to write precise and efficient SQL queries.