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

EXISTS vs JOIN dan penggunaan klausa EXISTS

EXISTS digunakan untuk mengembalikan nilai boolean, JOIN mengembalikan seluruh tabel lainnya

EXISTS hanya digunakan untuk menguji apakah subquery mengembalikan hasil, dan korsleting segera setelah itu terjadi. JOIN digunakan untuk memperluas kumpulan hasil dengan menggabungkannya dengan bidang tambahan dari tabel lain yang memiliki relasi.

Dalam contoh Anda, kueri secara semantik setara.

Secara umum, gunakan EXISTS ketika:

  • Anda tidak perlu mengembalikan data dari tabel terkait
  • Anda memiliki penipuan di tabel terkait (JOIN dapat menyebabkan baris duplikat jika nilai diulang)
  • Anda ingin memeriksa keberadaan (gunakan alih-alih LEFT OUTER JOIN...NULL kondisi)

Jika Anda memiliki indeks yang tepat, sebagian besar waktu EXISTS akan tampil identik dengan JOIN . Pengecualian adalah pada subkueri yang sangat rumit, di mana biasanya lebih cepat menggunakan EXISTS .

Jika Anda JOIN kunci tidak diindeks, mungkin lebih cepat menggunakan EXISTS tetapi Anda perlu menguji keadaan khusus Anda.

JOIN sintaks juga lebih mudah dibaca dan lebih jelas secara normal.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menggabungkan nilai baris T-SQL

  2. Bagaimana cara menambahkan Kolom Terhitung di Tabel SQL Server - Tutorial SQL Server / T-SQL Bagian 47

  3. CAST() vs TRY_CAST() di SQL Server:Apa Bedanya?

  4. Menyebarkan Sertifikat untuk Koneksi Terenkripsi SQL Server

  5. Contoh SQL Server UNTUK JSON AUTO (T-SQL)