Perbedaan Antara Join dan Natural Join di database MySQL
Join
Jika menggunakan perinta join, kita harus menyebutkan kolom yang mau di-join. Misal kolom id pada tabel1 dan kolom kode pada tabel2:
SELECT * FROM tabel1 JOIN tabel2 ON tabel1.id=tabel2.kode;
Natural Join
Jika menggunakan Natural Join, kita tidak perlu menyebutkan kolom yang akan di-join-kan dengan syarat, nama kolom antara kolom pada tabel1 dan tabel2 harus sama. Jika pada tabel1 dan tabel2 ada lebih dari satu kolom yang namanya sama, maka semua kolom yang sama tersebut akan dibandingkan.
SELECT * FROM tabel1 NATURAL JOIN tabel2;
Kesimpulan
Jadi perbedaan antara JOIN dan NATURAL JOIN adalah sintaksnya / cara penulisannya. Jika menggunakan JOIN, kita harus menentukan kolom yang akan di-join. Jika menggunakan NATURAL JOIN, database akan otomatis mencari nama kolom yang sama sebagai parameter kolom yang dijoin.
Join
Jika menggunakan perinta join, kita harus menyebutkan kolom yang mau di-join. Misal kolom id pada tabel1 dan kolom kode pada tabel2:
SELECT * FROM tabel1 JOIN tabel2 ON tabel1.id=tabel2.kode;
Natural Join
Jika menggunakan Natural Join, kita tidak perlu menyebutkan kolom yang akan di-join-kan dengan syarat, nama kolom antara kolom pada tabel1 dan tabel2 harus sama. Jika pada tabel1 dan tabel2 ada lebih dari satu kolom yang namanya sama, maka semua kolom yang sama tersebut akan dibandingkan.
SELECT * FROM tabel1 NATURAL JOIN tabel2;
Kesimpulan
Jadi perbedaan antara JOIN dan NATURAL JOIN adalah sintaksnya / cara penulisannya. Jika menggunakan JOIN, kita harus menentukan kolom yang akan di-join. Jika menggunakan NATURAL JOIN, database akan otomatis mencari nama kolom yang sama sebagai parameter kolom yang dijoin.
Pranala --> PERBANDINGAN ALGORITMA QUERY JOIN - ON DENGAN WHERE PADA MYSQL
BalasHapus