Subquery hoạt động tốt trong mệnh đề FROM của câu lệnh SELECT.
Cú pháp
SELECT ... FROM (subquery) [AS] name ...
Bắt buộc phải đặt alias (bí danh) cho subquery trong FROM.
Ví dụ
Dữ liệu từ bảng cars:
mysql> Select * from Cars; +------+--------------+---------+ | ID | Name | Price | +------+--------------+---------+ | 1 | Nexa | 750000 | | 2 | Maruti Swift | 450000 | | 3 | BMW | 4450000 | | 4 | VOLVO | 2250000 | | 5 | Alto | 250000 | | 6 | Skoda | 1250000 | | 7 | Toyota | 2400000 | | 8 | Ford | 1100000 | +------+--------------+---------+
Sử dụng subquery trong FROM:
mysql> Select Id_New, Name_New, Price_New FROM
(SELECT Id as Id_New, Name as Name_New, Price as Price_New FROM Cars) as c
Where Price_New > 500000;
+--------+----------+-----------+
| Id_New | Name_New | Price_New |
+--------+----------+-----------+
| 1 | Nexa | 750000 |
| 3 | BMW | 4450000 |
| 4 | VOLVO | 2250000 |
| 6 | Skoda | 1250000 |
| 7 | Toyota | 2400000 |
| 8 | Ford | 1100000 |
+--------+----------+-----------+
6 rows in set (0.00 sec)
Giải thích: Subquery tạo bảng dẫn xuất (derived table) với cột được đổi tên, truy vấn ngoài lọc Price_New > 500000. Alias c là bắt buộc.