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

Bagaimana cara menggunakan mysql JOIN tanpa kondisi ON?

MySQL dokumentasi mencakup topik ini.

Berikut sinopsisnya. Saat menggunakan join atau inner join , on kondisi adalah opsional. Ini berbeda dari standar ANSI dan berbeda dari hampir semua database lainnya. Efeknya adalah cross join . Demikian pula, Anda dapat menggunakan on klausa dengan cross join , yang juga berbeda dari SQL standar.

Gabungan silang menciptakan produk Cartesian -- yaitu, setiap kemungkinan kombinasi 1 baris dari tabel pertama dan 1 baris dari tabel kedua. Penggabungan silang untuk tabel dengan tiga baris ('a', 'b', dan 'c') dan tabel dengan empat baris (misalnya 1, 2, 3, 4) akan memiliki 12 baris.

Dalam prakteknya, jika Anda ingin melakukan cross join, maka gunakan cross join :

from A cross join B

jauh lebih baik daripada:

from A, B

dan:

from A join B -- with no on clause

on klausa diperlukan untuk gabungan luar kanan atau kiri, jadi diskusi tidak relevan untuk mereka.

Jika Anda perlu memahami berbagai jenis gabungan, maka Anda perlu mempelajari basis data relasional. Stackoverflow bukanlah tempat yang tepat untuk tingkat diskusi seperti itu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL 8.0 - Klien tidak mendukung protokol otentikasi yang diminta oleh server; pertimbangkan untuk memutakhirkan klien MySQL

  2. Cara memindahkan model antara dua aplikasi Django (Django 1.7)

  3. Bagaimana cara menghindari tanda persen literal ketika opsi NO_BACKSLASH_ESCAPES diaktifkan?

  4. Alternatif MySQL untuk T-SQL's WITH TIES

  5. Cara Membuat Database di MySQL