sql - समझ - एसक्यूएल-आंतरिक 2 तालिकाओं में शामिल होने पर 1 तालिका रिक्त होने पर सभी वापस लौटाते हैं




संबंधपरक डेटाबेस प्रबंधन प्रणाली (2)

मेरे पास 2 तालिकाओं को ए और बी कहते हैं, और मैं उन पर शामिल होना चाहता हूं।

टेबल ए में हमेशा रिकॉर्ड होगा

जब तालिका बी में पंक्तियाँ होती हैं, तो मुझे क्वेरी की सभी पंक्तियों को चालू करना है जिसमें तालिका ए और तालिका बी मैचों में (यानी आंतरिक शामिल होने की तरह व्यवहार करना)

हालांकि, यदि तालिका बी खाली है, तो मैं तालिका ए से सब कुछ वापस करना चाहता हूं।

क्या 1 क्वेरी में ऐसा करना संभव है?

धन्यवाद।


इसे इस्तेमाल करे

SELECT t1.* FROM table1 AS t1 INNER JOIN table2 AS t2 ON t1.something = t2.someotherthing UNION SELECT * FROM table1 WHERE something = somethingelse;

मुझे एक ही सवाल आया और, जैसा कि कभी इसका उत्तर नहीं दिया गया था, मैं इस समस्या को किसी अन्य स्थान पर दिए गए समाधान के बाद पोस्ट करता हूं अगर यह भविष्य में किसी को मदद करता है। स्रोत देखें

select *
from TableA as a
left join TableB as b
    on b.A_Id = a.A_Id
where
    b.A_Id is not null or
    not exists (select top 1 A_Id from TableB)






inner-join