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

Oracle outer join dengan kondisi filter pada tabel kedua

Tidak, tidak ada kondisi di mana kumpulan hasil akan berbeda.

Tapi asumsi Anda "a.id = b.id(+) tidak memiliki arti" tidak 100% benar. Itu memiliki arti, karena mendefinisikan gabungan, jika tidak, ini akan menjadi produk kartesius dari a dan b dengan semua baris dari a dan b.name ='XYZ'.

Yang tidak berpengaruh adalah (+) , karena pernyataan itu "secara semantik" salah. Tidak masuk akal untuk bergabung di luar pada id tetapi untuk bergabung dengan nama.

Biasanya yang diinginkan seperti itu:

select  * from a,b where a.id =b.id(+) and b.name(+) = 'XYZ';

Contoh singkat di http://www.sqlfiddle.com/#!4/d19b4/ 15




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Solusi Kesenjangan dan Kepulauan di Oracle - penggunaan rekursif

  2. Bisakah Visual Studio 2012 Load testing menangkap penghitung kinerja server Linux dan basis data Oracle?

  3. ORA-00923:FROM kata kunci tidak ditemukan di tempat yang diharapkan - SQLDeveloper

  4. Cara menonaktifkan PL/SQL di kueri Oracle

  5. Gunakan alias tabel dalam kueri lain untuk melintasi pohon