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

gabungkan kondisi ON vs di WHERE

Nah, apa yang Anda sebut "setara" tidak setara dengan gabungan luar. Mari kita ambil join kiri misalnya.

Kondisi di JOIN:

SELECT * FROM Customers c
LEFT JOIN CustomerAccounts ca ON ca.CustomerID = c.CustomerID AND c.State = 'NY'
LEFT JOIN Accounts a ON ca.AccountID = a.AccountID AND a.Status = 1

vs DIMANA:

SELECT * FROM Customers c
LEFT JOIN CustomerAccounts ca ON ca.CustomerID = c.CustomerID
LEFT JOIN Accounts a ON ca.AccountID = a.AccountID
WHERE c.State = 'NY'
AND a.Status = 1

Menempatkan kondisi ke dalam klausa WHERE secara efektif membuat gabungan INNER bergabung, karena klausa WHERE adalah baris filter yang diterapkan setelah gabungan telah dibuat.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengapa fungsi to_char() Oracle menambahkan spasi?

  2. Bagaimana cara menghapus / menghapus sepenuhnya Oracle 11g (klien)?

  3. Oracle Sql Developer string literal kesalahan terlalu panjang

  4. Pembaruan oracle membandingkan Varchar

  5. Jalankan prosedur PL/SQL dari vb6 di Oracle 11g