Truy Vấn Lồng Nhau Subquery Trong SQL

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 thử

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 Chạy thử

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 Chạy thử
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Ý KÊNH, XEM CÁC VIDEO TRÊN XUANTHULAB Đăng ký nhận bài viết mới

Từ khóa » Các Loại Subquery Trong Sql