Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cách sử dụng truy vấn con (subquery) với mệnh đề FROM trong MySQL


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.