Tạo bảng sách
mysql> CREATE TABLE DemoTable1414 (BookTitle VARCHAR(40), BookPrice INT);
INSERT INTO DemoTable1414 VALUES
('Deep dive using java',560),('C++ in depth',360),('Data structure in C',590),
('Algorithm in C++',1090),('Java in Depth',360);
Dữ liệu
mysql> SELECT * FROM DemoTable1414;
+----------------------+-----------+
| BookTitle | BookPrice |
+----------------------+-----------+
| Deep dive using java | 560 |
| C++ in depth | 360 |
| Data structure in C | 590 |
| Algorithm in C++ | 1090 |
| Java in Depth | 360 |
+----------------------+-----------+
Truy vấn: Subquery MIN(BookPrice) trong WHERE
mysql> SELECT BookTitle FROM DemoTable1414
-> WHERE BookPrice = (SELECT MIN(BookPrice) FROM DemoTable1414);
Kết quả: 2 cuốn sách giá 360
+---------------+
| BookTitle |
+---------------+
| C++ in depth |
| Java in Depth |
+---------------+
Mở rộng: Để lấy top N giá thấp nhất (kể cả trùng), dùng WHERE BookPrice IN (SELECT DISTINCT BookPrice FROM DemoTable1414 ORDER BY BookPrice LIMIT 2) (MySQL 8.0+ hỗ trợ LIMIT trong subquery).