sql >> Databasteknik >  >> RDS >> Oracle

Oracle (+) Operatör

Det är Oracle-specifik notation för en OUTER JOIN, eftersom ANSI-89-formatet (med kommatecken i FROM-satsen för att separera tabellreferenser) inte standardiserade OUTER-kopplingar.

Frågan skulle skrivas om i ANSI-92-syntax som:

   SELECT ...
     FROM a
LEFT JOIN b ON b.id = a.id

Den här länken är ganska bra på att förklara skillnaden mellan JOINs.

Det bör också noteras att även om (+) fungerar, rekommenderar Oracle inte använder det:

Oracle rekommenderar att du använder FROM klausul OUTER JOIN syntax snarare än Oracle join-operatorn. Yttre anslutningsfrågor som använder Oracle join-operatorn (+) är föremål för följande regler och begränsningar, som inte gäller för FROM klausul OUTER JOIN syntax:



  1. SQLRecoverableException:I/O-undantag:Anslutningsåterställning

  2. Hur lägger man till kommentarer i SQL?

  3. Rekursiva kategorier med en enda fråga?

  4. Hur man övervakar MySQL-distributioner med Prometheus &Grafana på ScaleGrid