tôi đang trải qua SQLZOO "SELECT within SELECT tutorial" và đây là một trong những thắc mắc mà làm công việc (nhiệm vụ)Đây có phải là truy vấn chậm không? Nó có thể được cải thiện không?
thế giới (tên, lục, diện tích, dân số, GDP)
SELECT w1.name, w1.continent, w1.population
FROM world w1
WHERE 25000000 >= ALL(SELECT w2.population FROM world w2 WHERE w2.continent=w1.continent)
Câu hỏi của tôi là về hiệu quả của truy vấn như vậy. Truy vấn con sẽ chạy cho mỗi hàng (quốc gia) của truy vấn chính và do đó liên tục điền lại danh sách ALL cho một lục địa cụ thể.
- Tôi có nên quan tâm hoặc sẽ tối ưu hóa Oracle bằng cách nào đó quản lý nó?
- Nó có thể được lập trình lại mà không có truy vấn phụ tương quan không?
Dưới đây là một fiddle cho dữ liệu/truy vấn: http://sqlfiddle.com/#!4/2aed1/1 – Wilduck