Katakanlah INNER JOIN
pertama Anda mengembalikan 75% dari 1.000.000 baris di table1
. Kueri kedua tidak mengembalikan 250.000 baris lain seperti yang Anda pikirkan. Sebagai gantinya, ia mencoba membuat produk Cartesian dan menghapus 750.000 baris yang cocok. Jadi ia mencoba mengembalikan 6.000.000 × 1.000.000-750.000 baris. Itu adalah kumpulan hasil baris 6×10 yang menonjol.
Anda mungkin menginginkan ini:
SELECT * FROM table1
LEFT JOIN table2 ON table2.number = table1.number
WHERE table2.number IS NULL
Ini mengembalikan baris di table1
tidak ada di table2
.
Anda mungkin juga tertarik dengan 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
Ini mengembalikan baris di kedua tabel yang tidak memiliki kecocokan di tabel lain.