MySQL Subquery Placement
In this tutorial, we will learn about MySQL Subquery Placement. There are various types of subqueries in MySQL. The usage of the subquery is best described from the location in the SQL statement where it is used.
- Subquery can be used in SELECT, INSERT, UPDATE, and DELETE statements. It can be used in the SELECT, FROM, WHERE, HAVING, and ORDER BY clauses of queries
- Subquery can be used in conditions that utilize comparison operators as well as the special-purpose operators; IN, NOT IN, ANY, EXISTS, and NOT EXISTS
- The usual arithmetic operators can be appear on either side of a subquery:
=, <>, <,>,<=, >=
- A subquery may need to be run several times through the data in order to achieve the desired result.
In some cases, a temporary table alias may be necessary.
The chart shows the usage between the subquery table result types and the locations in a SELECT statement where each type is allowed. The tick mark shows that the particular type of subquery is allowed in the corresponding location of the SQL statement.
| FROM clause
|WHERE clause =||✔||✔|
|WHERE clause <,>||✔|
|WHERE clause IN, ALL,ANY, SOME||✔||✔||✔|
|WHERE clause EXISTS||✔||✔||✔||✔|
For example, it shows that only a scalar subquery is allowed in the column designation of a SELECT statement. However, all types of subquery table results are allowed in the FROM clause of a statement.
MySQL Tutorials on this website:
For more information on MySQL Database: