Giả sử INNER JOIN
đầu tiên của bạn trả về 75% trong số 1.000.000 hàng trong table1
. Truy vấn thứ hai không trả về 250.000 hàng khác như bạn nghĩ. Thay vào đó, nó cố gắng tạo ra một sản phẩm Descartes và loại bỏ 750.000 hàng phù hợp. Do đó, nó đang cố gắng trả về 6.000.000 × 1.000.000-750.000 hàng. Đó là tập hợp kết quả hàng 6 × 10 phồng lên.
Bạn có thể muốn điều này:
SELECT * FROM table1
LEFT JOIN table2 ON table2.number = table1.number
WHERE table2.number IS NULL
Điều này trả về các hàng trong table1
không có trong table2
.
Bạn cũng có thể quan tâm đến FULL OUTER JOIN
:
SELECT * FROM table1
FULL OUTER JOIN table2 ON table2.number = table1.number
WHERE table1.number IS NULL AND table2.number IS NULL
Điều này trả về các hàng trong cả hai bảng không khớp với bảng khác.