Một số hàm (Bài trước)
(Bài tiếp) Toán tử LIKE

Truy vấn lồng nhau, truy vấn con Subquery

Một truy vấn lồng nhau là một truy vấn nằm trong truy vấn khác. Để hiểu hãy xem ví dụ sau:

Lấy giá trung bình của sản phẩm

SELECT avg(Gia) AS GiaTB FROM Sanpham

Chạy truy vấn trên SQLite dữ liệu mẫu

GiaTB
144610.3896103896

Có một file CSDL mẫu dạng SQLite, bạn có thể tải về thực hành: CSDL SQLite mẫu. Hoặc Chạy SQL Online

Tiếp theo bạn muốn lấy thông tin sản phẩm có giá lớn hơn giá trung bình này, nếu không có sử dụng truy vấn lồng nhau thì có thể viết

SELECT SanphamID, TenSanPham, Gia FROM Sanpham
WHERE Gia > 144610.3896103896
ORDER BY Gia

Sử dụng truy vấn lồng nhau Subquery

Coi câu truy vấn lấy giá trị trung bình ở trên có đưa vào dấu (): (SELECT avg(Gia) AS GiaTB FROM Sanpham) như là tham số để sử dụng cho truy vấn thứ 2. Vậy tiến hành thay tham số giá trị bằng truy vấn này sẽ có được truy vấn lồng nhau

SELECT SanphamID, TenSanpham, Gia FROM Sanpham
WHERE Gia > (SELECT avg(Gia) AS GiaTB FROM Sanpham)
ORDER BY Gia
SanphamIDTenSanphamGia
5Bột cần tây sấy lạnh145000
75Thùng Sữa đậu nành Fami145000
10Tôm thịt đông lạnh size 31/40 Đôi Đũa Vàng gói 450g150000
17Combo 5 hộp pate thịt gà và que cua175000
59Sữa Bột Nguyên Kem Dutch Lady180000
40Cua Thịt Cà Mau (Kg)500000

Đăng ký nhận bài viết mới
Một số hàm (Bài trước)
(Bài tiếp) Toán tử LIKE