Saya akan menjawab pertanyaan apakah ketidaksetaraan itu selalu BENAR. Jawabannya adalah "tidak", tidak dalam SQL. Dalam kebanyakan keadaan, mereka setara. Masalah muncul dengan konversi tipe implisit.
Khususnya, jika a.id
adalah angka dan kolom lainnya adalah string, maka Anda memiliki situasi di mana:
1 = '1' -- true
1 = '1.00' -- true
'1' = '1.00' -- false
Anda dapat melihat ini
pada biola db<>ini. Akan sepele untuk mengatur ini menggunakan JOIN
s, tapi karena saya tidak akan menulis kode yang memiliki koma di FROM
klausa, saya akan menyerahkan latihan itu kepada Anda.
Dalam praktiknya, id yang digunakan untuk bergabung harus dari jenis yang sama. Anda bahkan tidak dapat mendeklarasikan hubungan kunci asing jika tidak. Selain praktik terbaik itu, kedua kueri tidak secara otomatis setara.
Catatan:Ini akan sama benarnya jika Anda menggunakan standar yang tepat, eksplisit, JOIN
sintaks, yang saya sangat, sangat mendorong Anda untuk belajar dan menggunakan secara eksklusif.