sql >> Databasteknik >  >> RDS >> Oracle

Hur man använder oracle outer join med ett filter where-klausul

Du är mycket bättre av att använda ANSI-syntaxen

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

Du kan göra samma sak med Oracles syntax också, men det blir lite knepigt

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

Observera att i båda fallen ignorerar jag c tabell eftersom du inte anger ett anslutningsvillkor. Och jag antar att du egentligen inte vill ansluta A till B och sedan generera en kartesisk produkt med C.



  1. Vad är SQL Server-motsvarigheten till INET_ATON

  2. Sträng till datum i Oracle med millisekunder

  3. JBoss loggar Postgres-drivrutinen är icke-JDBC-kompatibel

  4. MySQL-anslutningen misslyckades. Kan inte ansluta till MySQL-servern på "http" (4)