आप UPDATE
में अतिरिक्त तालिकाओं में शामिल हो सकते हैं
इस बेहतर फॉर्म के लिए अनुमति देने वाला कथन:
UPDATE books b
SET author_id = a.author_id
FROM authors a
WHERE b.author = a.author_name;
तीन कारण:
-
यह अधिक सुरक्षित है। आपकी क्वेरी प्रत्येक पंक्ति में एक NULL मान लिखेगी जहाँ कोई मेल खाने वाला लेखक नहीं मिलता है। यह आपके मामले में कोई मायने नहीं रखता है, लेकिन संभावित रूप से समान प्रश्नों में डेटा हानि हो सकती है जहां आपके पास पहले से अपडेट किए जाने वाले कॉलम में डेटा है। यदि कोई मेल खाने वाला लेखक नहीं मिलता है तो मेरा विकल्प कुछ नहीं करता है।
-
यह तेज है। एक के लिए उपरोक्त। लेकिन इसलिए भी क्योंकि सहसंबंधित सबक्वेरी जैसे आपके पास बहुत बड़ा पैमाना है। तालिका में शामिल होना आम तौर पर तेज़ होता है, विशेष रूप से कुछ पंक्तियों से अधिक के साथ।
-
यह अधिक स्वच्छ और अतिरिक्त स्तंभों के लिए अधिक आसानी से अनुकूलित है।