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
klausulOUTER 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örFROM
klausulOUTER JOIN
syntax: