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

Kueri dengan sub-pilihan yang rusak akan menghasilkan kesalahan tetapi mengembalikan baris

Alasannya adalah karena ketika kolom unaliased tidak ada di subquery tetapi ada di outer query, Oracle menganggap Anda merujuk ke kolom dari outer query.

Dengan alias, kueri yang membuat Anda bingung akan terlihat seperti:

select *
from   test_values tv
where  tv.tst_id in (select tv.tst_id2
                     from   test_lookup tl
                     where  tl.tst_value = 'findMe');

Mudah-mudahan, itu membuat segalanya lebih jelas?

Masalah yang Anda lihat adalah contoh yang sangat baik tentang mengapa Anda harus selalu memberi label pada kolom Anda dengan tabel asalnya - hal ini membuat lebih mudah untuk mempertahankan kueri sebagai permulaan!



  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 memuat DataFrame panda tipe campuran secara efisien ke dalam Oracle DB

  2. Baris baru yang tidak diinginkan saat mengumpulkan hasil sqlplus ke file xml

  3. Tabel filter ADF berdasarkan pemilihan pohon

  4. Perbedaan antara kelas driver Oracle jdbc?

  5. Riwayat basis data untuk penggunaan klien