Perbedaan Left Join dan Left Outer Join
Mungkin ada yang belum tahu, bahwa kata kunci OUTER
sebenarnya adalah bersifat opsional. Jadi, baik ditulis atau tidak, hasilnya tetap sama. Pada dasarnya, semua bagian dari kata kunci JOIN
adalah opsional. Jika hanya ditulis JOIN
saja tanpa embel-embel LEFT
/RIGHT
, FULL
, atau CROSS
, default-nya adalah INNER
. Contoh di bawah ini adalah sebuah query dengan kata kunci JOIN
yang artinya sama dengan INNER JOIN
.
SELECT * FROM A JOIN B ON A.X = B.Y
Berikut ini adalah daftar query beserta persamaannya.
A LEFT JOIN B = A LEFT OUTER JOIN B
A RIGHT JOIN B = A RIGHT OUTER JOIN B
A FULL JOIN B = A FULL OUTER JOIN B
A INNER JOIN B = A JOIN B
A, B = A CROSS JOIN B
Pada baris terakhir adalah syntax lama yang sudah mulai ditinggalkan tapi masih didukung oleh banyak mesin database modern. Penggabungan dua buah table atau lebih menggunakan tanda koma (,) sebaiknya dihindari, karena dapat menimbulkan ketaksaan (ambiguitas) ketika misalnya kata kunci INNER
dan OUTER
digunakan secara bersamaan pada suatu query. Ketaksaan tersebut mungkin saja diinterpretasikan berbeda dari satu mesin database ke yang lainnya.
Kerugian lain dari syntax lama adalah hasilnya akan selalu bernilai CROSS JOIN
jika kita lupa untuk menambahkan klausa WHERE
. Pada syntax baru yang menggunakan kata kunci JOIN
, hal ini tidak mungkin terjadi karena akan menimbulkan kegagalan pada saat pemeriksaan syntax sebelum dijalankan oleh mesin database.
Kesimpulan dari catatan ini adalah:
1. Jika hanya ditulis JOIN
, artinya adalah INNER JOIN
.
2. Kata kunci OUTER
, harus didahului oleh LEFT
/RIGHT
/FULL
. Tidak bisa hanya ditulis OUTER JOIN
.
3. Kata kunci OUTER
bersifat opsional, jadi bisa ditulis LEFT JOIN
atau RIGHT JOIN
atau FULL JOIN
saja.
4. CROSS JOIN
berarti kita membuat daftar dari table pertama dikali dengan daftar dari table kedua. Akan menghasilkan semua kemungkinan dari kedua table tersebut (Cartesian product).
Jika ingin lebih jelas mengenai masing-masing kata kunci JOIN
, bisa membaca pada catatan lalu, yang menganalogikan kata kunci JOIN
dengan Diagram Venn.
Thankss, helpfull :))
Generic
invoice
Rustic Fresh Shirt
Self-enabling
Front-line
← Previous Post
Next Post →
Cari Catatan Saya
Catatan Terbaru
Kategori
Blogroll
Arsip
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
© 2024 Sibudi </>. Theme: Ari by Elmastudio. Proudly powered by WordPress.