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

Cara menggunakan Oracle outer join dengan filter where klausa

Anda jauh lebih baik menggunakan sintaks ANSI

SELECT *
  FROM a
       LEFT OUTER JOIN b ON( a.id = b.id and
                             b.val = 'test' )

Anda dapat melakukan hal yang sama menggunakan sintaks Oracle juga tetapi ini menjadi sedikit hinkey

SELECT *
  FROM a, 
       b
 WHERE a.id = b.id(+)
   AND b.val(+) = 'test'

Perhatikan bahwa dalam kedua kasus, saya mengabaikan c tabel karena Anda tidak menentukan kondisi bergabung. Dan saya berasumsi bahwa Anda tidak benar-benar ingin menggabungkan A ke B dan kemudian menghasilkan produk Cartesian dengan C.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mendapatkan pengecualian ORA-00942:tabel atau tampilan tidak ada - saat memasukkan ke tabel yang ada

  2. TRIM() Fungsi di Oracle

  3. tidak dapat memuat oci8 -> Kesalahan fatal:Panggilan ke fungsi yang tidak ditentukan oci_connect()

  4. Oracle:bagaimana situasinya menggunakan RAISE_APPLICATION_ERROR?

  5. Bagaimana cara mengembalikan beberapa baris dari prosedur tersimpan? (Oracle PL/SQL)