Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Perbedaan antara dua pendekatan tabel bergabung ini?

Selain sintaks, untuk cuplikan kecil, mereka bekerja persis sama. Tetapi jika memungkinkan, selalu tulis kueri baru menggunakan ANSI-JOIN.

Adapun secara semantik, notasi koma digunakan untuk menghasilkan produk CARTESIAN antara dua tabel, yang berarti menghasilkan matriks semua record dari tabel A dengan semua record dari tabel B, sehingga dua tabel dengan 4 dan 6 record masing-masing menghasilkan 24 record. Menggunakan klausa WHERE, Anda kemudian dapat memilih baris yang Anda inginkan dari produk kartesius ini. Namun, MySQL tidak benar-benar menindaklanjuti dan membuat matriks besar ini, tetapi secara semantik inilah artinya.

Sintaks JOIN adalah standar ANSI yang lebih jelas mendefinisikan bagaimana tabel berinteraksi. Dengan meletakkan ON klausa di sebelah JOIN , memperjelas apa yang menghubungkan kedua tabel.

Secara fungsional, mereka akan melakukan hal yang sama untuk dua kueri Anda. Perbedaannya terlihat saat Anda mulai menggunakan [OUTER] lainnya GABUNG jenis.

Khusus untuk MySQL, notasi koma memiliki satu perbedaan

STRAIGHT_JOIN mirip dengan JOIN, kecuali tabel kiri selalu dibaca sebelum tabel kanan. Ini dapat digunakan untuk (beberapa) kasus di mana pengoptimal gabungan menempatkan tabel dalam urutan yang salah.

Namun, tidak bijaksana untuk mengandalkan perbedaan ini.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara kerja indeks MySQL?

  2. Cara mencadangkan database MySQL dari baris perintah di Linux

  3. Kesalahan MySQL 1215:Tidak dapat menambahkan batasan kunci asing

  4. Memasukkan ke MySQL dari PHP (jQuery/AJAX)

  5. Apakah Mungkin untuk Menegakkan Pemeriksaan Data di MySQL menggunakan ekspresi Reguler