यह एक ही सबक्वायरी का उपयोग करके तीन अलग-अलग चयन है। मैं फिर से उप क्वेरी करने के बजाय subquery परिणाम का उपयोग कैसे कर सकता हूं।ऑरैकल में एकाधिक चयन में एक ही सबक्वायरी से कैसे बचें?
SELECT *
FROM Address
WHERE address_key IN
(
SELECT address_key
FROM person_address
WHERE peson_key IN (person_list)
); -- person_list := '1,2,3,4'
SELECT *
FROM Phone
WHERE phone_key IN
(
SELECT address_key
FROM person_address
WHERE peson_key IN (person_list)
);
SELECT *
FROM Email
WHERE address_key IN
(
SELECT address_key
FROM person_address
WHERE peson_key IN (person_list)
);
+1 या जीटीटी विचार - विशेष रूप से अगर इसे पॉप्युलेट करने के लिए तर्क अधिक जटिल या उदाहरण के मुकाबले समय लेने वाला है। –