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
.
1
2
| SELECT * FROM A JOIN B ON A.X = B.Y |
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
Tidak ada komentar:
Posting Komentar