उदाहरण के साथ कृपया स्पष्ट करें कि दाएं और बाएं बाहरी जोड़ को ठीक से कैसे ढूंढें
मैं Oracle के बाहरी जॉइन सिंटैक्स . के बीच अंतर दिखाने का प्रयास करूंगा और एएनएसआई/आईएसओ सिंटैक्स ।
बाएं बाहरी शामिल हों -
SELECT e.last_name,
d.department_name
FROM employees e,
departments d
WHERE e.department_id = d.department_id(+);
SELECT e.last_name,
d.department_name
FROM employees e
LEFT OUTER JOIN departments d
ON (e.department_id = d.department_id);
दाएं बाहरी शामिल हों -
SELECT e.last_name,
d.department_name
FROM employees e,
departments d
WHERE e.department_id(+) = d.department_id;
SELECT e.last_name,
d.department_name
FROM employees e
RIGHT OUTER JOIN departments d
ON (e.department_id = d.department_id);
पूर्ण बाहरी जुड़ाव -
11gR1 में हैश फुल आउटरजॉइन के मूल समर्थन से पहले, Oracle निम्नलिखित तरीके से FULL OUTER JOIN को आंतरिक रूप से रूपांतरित करेगा -
SELECT e.last_name,
d.department_name
FROM employees e,
departments d
WHERE e.department_id = d.department_id(+)
UNION ALL
SELECT NULL,
d.department_name
FROM departments d
WHERE NOT EXISTS
(SELECT 1 FROM employees e WHERE e.department_id = d.department_id
);
SELECT e.last_name,
d.department_name
FROM employees e
FULL OUTER JOIN departments d
ON (e.department_id = d.department_id);
इसे देखें।