Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

perilaku gabungan dalam di dalam ada sql

Perbedaannya adalah ketika Anda menggunakan exists - kueri di dalam biasanya bergantung pada kueri utama (berarti menggunakan kolom darinya sehingga tidak dapat dijalankan secara terpisah) dan, jadi, untuk setiap baris kueri utama, ia memeriksa apakah beberapa data yang diambil oleh subkueri ada atau tidak.

Masalah kueri pertama Anda adalah bahwa subquery di dalam blok yang ada tidak bergantung pada kolom kueri utama, ini adalah kueri terpisah yang selalu mengembalikan baris dengan 1 , jadi, untuk setiap baris kueri utama, hasil exists akan selalu true . Jadi, kueri pertama Anda setara dengan

SELECT distinct(company_id)
FROM user
WHERE user.user_id = 123 
AND user.company_id IS NOT NULL

Lihat juga biola



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tampilan terwujud dengan Oracle

  2. Oracle SQL - Pilih pengguna antara dua tanggal per bulan

  3. Bagaimana cara memetakan TYPE TABLE OF VARCHAR2(5) di java?

  4. sintaks pernyataan pilih Oracle sederhana

  5. BUAT TABEL DALAM PROSEDUR