Kedua gabungan ini akan memberi saya hasil yang sama:
SELECT * FROM table JOIN otherTable ON table.ID = otherTable.FK
vs.
SELECT * FROM table INNER JOIN otherTable ON table.ID = otherTable.FK
Apakah ada perbedaan antara pernyataan kinerja atau tidak?
Apakah perbedaan antara implementasi SQL berbeda ?
sql
sql-server
join
inner-join
driis
sumber
sumber
Jawaban:
Mereka secara fungsional setara, tetapi
INNER JOIN
bisa sedikit lebih jelas untuk dibaca, terutama jika kueri memiliki tipe gabungan lainnya (yaituLEFT
atauRIGHT
atauCROSS
) termasuk di dalamnya.sumber
Tidak, tidak ada perbedaan, gula sintaksis murni .
sumber
INNER
jatuh di bawah definisi ini.INNER
tidak tidak membuat permintaan lebih mudah dibaca. Yang saya tahu,JOIN
bisa berartiLEFT JOIN
jika tidak dijawab oleh jawaban di sini.INNER JOIN = BERGABUNG
ATAU
sumber
Ya, Microsoft Access tidak mengizinkan
join
. Itu membutuhkaninner join
.sumber
Demikian pula dengan
OUTER JOINs
, kata"OUTER"
itu opsional. Itu kata kunciLEFT
atauRIGHT
yang membuatJOIN
sebuah"OUTER" JOIN
.Namun karena beberapa alasan saya selalu menggunakan
"OUTER"
seperti dalamLEFT OUTER JOIN
dan tidak pernahLEFT JOIN
, tetapi saya tidak pernah menggunakanINNER JOIN
, tetapi saya hanya menggunakan"JOIN"
:sumber
Karena jawaban lain sudah menyatakan tidak ada perbedaan dalam contoh Anda.
Bit tata bahasa yang relevan didokumentasikan di sini
Menunjukkan bahwa semua itu opsional. Halaman selanjutnya menjelaskan itu
Tata bahasa tidak juga menunjukkan bahwa ada satu waktu di mana
INNER
yang diperlukan sekalipun. Saat menentukan petunjuk bergabung.Lihat contoh di bawah ini
sumber