आपकी क्वेरी पूरी तरह से मान्य लगती है:
SELECT fk_id_tbl2 AS some_name
FROM table1
EXCEPT -- you may want to use EXCEPT ALL
SELECT pk_id
FROM table2;
कॉलम नाम क्वेरी के लिए अप्रासंगिक हैं। केवल डेटा प्रकार मेल खाना चाहिए। आपकी क्वेरी का आउटपुट कॉलम नाम है fk_id_tbl2
, सिर्फ इसलिए कि यह पहले SELECT
. में कॉलम नाम है . आप किसी भी उपनाम का उपयोग कर सकते हैं।
अक्सर क्या अनदेखा किया जाता है:EXCEPT
. के बीच सूक्ष्म अंतर (जो डुप्लीकेट को फोल्ड करता है) और EXCEPT ALL
- जो सभी व्यक्तिगत बेजोड़ पंक्तियों को रखता है। अधिक स्पष्टीकरण और ऐसा करने के अन्य तरीके, उनमें से कुछ बहुत अधिक लचीले हैं:
- उन पंक्तियों का चयन करें जो अन्य तालिका में मौजूद नहीं हैं
EXCEPT
. के लिए विवरण मैनुअल में।