Để minh họa việc tạo chế độ xem MySQL với truy vấn con, chúng tôi sử dụng dữ liệu sau 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 | +------+--------------+---------+ 8 rows in set (0.08 sec)
Bây giờ, truy vấn sau sẽ tạo một chế độ xem có tên là ‘Cars_avgprice’ bằng cách sử dụng một truy vấn con sẽ cung cấp các giá trị cho chế độ xem. Truy vấn con phải được đặt trong dấu ngoặc đơn.
mysql> Create view cars_avgprice AS SELECT NAME, Price FROM Cars WHERE price > (SELECT AVG(Price) from cars); Query OK, 0 rows affected (0.12 sec) mysql> Select * from cars_avgprice; +--------+---------+ | NAME | Price | +--------+---------+ | BMW | 4450000 | | VOLVO | 2250000 | | Toyota | 2400000 | +--------+---------+ 3 rows in set (0.03 sec)
Nếu chúng tôi chạy truy vấn con ở trên riêng lẻ, chúng tôi có thể hiểu cách chế độ xem nhận các giá trị của nó -
mysql> Select AVG(Price) from cars; +--------------+ | AVG(Price) | +--------------+ | 1612500.0000 | +--------------+ 1 row in set (0.00 sec)
Đó là lý do tại sao chế độ xem ‘ô tô_avgprice’ có danh sách ô tô có giá cao hơn mức trung bình của giá, tức là 1612500.