Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Apa perbedaan antara menggunakan gabungan silang dan memberi koma di antara dua tabel?

Mereka mengembalikan hasil yang sama karena secara semantik identik. Ini:

select * 
  from A, B

...adalah (mengernyit) sintaks ANSI-89. Tanpa klausa WHERE untuk menghubungkan tabel bersama, hasilnya adalah produk kartesius. Yang juga merupakan alternatif yang disediakan:

    select * 
      from A 
cross join B

...tetapi CROSS JOIN adalah sintaks ANSI-92.

Tentang Kinerja

Tidak ada perbedaan kinerja di antara mereka.

Mengapa Menggunakan ANSI-92?

Alasan menggunakan sintaks ANSI-92 adalah untuk dukungan OUTER JOIN (IE:LEFT, FULL, RIGHT)--Sintaks ANSI-89 tidak memilikinya, begitu banyak database mengimplementasikannya sendiri (yang tidak port ke database lain mana pun ). IE:Oracle (+) , =* SQL SQL Server



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Menggunakan Pernyataan GO di SQL Server Untuk Menyisipkan Catatan di Kolom Identitas - Tutorial SQL Server / T-SQL Bagian 42

  2. Konversi Nomor Bulan ke Nama Bulan di SQL Server (T-SQL)

  3. cara menghubungkan sql server menggunakan driver JTDS di Android

  4. Cara Memperbaiki "Konversi gagal saat mengonversi nilai ke tipe data" di SQL Server

  5. Buat Fungsi Bernilai Tabel Sebaris (ITVF) di SQL Server