Share Sử dụng truy vấn lồng nhau trong SQL

filiallion

Administrator
Staff member
Administrator
Messages
585
Points
10
Language
Tiếng Việt
Khi sử dụng SQL để truy vấn dữ liệu các bạn thường xuyên gặp phải những truy vấn khá phức tạp đòi hỏi phải kết hợp nhiều thành phần trong câu truy vấn. Một trong số đó có thể kể đến là truy vấn lồng nhau (Còn gọi là truy vấn con hay subquery).

Truy vấn lồng nhau là một truy vấn dữ liệu bên trong một truy vấn dữ liệu khác. Ví dụ để lấy giá trị trung bình của giá bán các sản phẩm các bạn thường sử dụng câu lệnh SQL như sau:
SQL:
SELECT avg(price) AS avgPrice FROM tbl_product
Và để truy vấn lấy các sản phẩm có giá bán lớn hơn giá bán trung bình thì bình thường không dùng truy vấn lồng nhau các bạn sẽ phải thực hiện câu truy vấn trên để lấy kết quả và thực hiện tiếp một truy vấn khác với điều kiện tương ứng với kết quả đó. Nhưng với truy vấn lồng nhau, các bạn có thể thực hiện một truy vấn lấy các sản phẩm có giá bán lớn hơn giá bán trung bình như ví dụ sau:
SQL:
SELECT *
FROM tbl_product
WHERE price > (SELECT avg(price) FROM tbl_product)
Sử dụng truy vấn lồng nhau trong SQL đôi lúc rất cần thiết để làm gọn nhẹ mã lệnh lập trình của các bạn cũng như đảm bảo tính chính xác hơn.
 
Back
Top