استفاده از INTERSECT و EXCEPT در DB2 SQL
در این مقاله، دو کلمه کلیدی کاربردی INTERSECT و EXCEPT را جهت استفاده در دستورات DB2 SQL به شما معرفی می کنیم.
این دو عملگر جهت ساده سازی بعضی از عبارات SQL استفاده می شوند و هم توسط DB2 for z/OS و هم توسط DB2 for LUW پشتیبانی می شوند.
INTERSECT
عملگر INTERSECT برای تطابق نتایج بین دو جدول استفاده می شود. اگر داده ای در نتیجه ی هر دو جدول مشابه باشد، تایید و نمایش داده می شود.
زمانی که INTERSECT ALL در دستور مشخص می شود، نتبجه ی نهایی دستور شامل همه ی رکوردهایی می شود که در نتیجه ی هر دو جدول وجود دارند.
اگر INTERSECT بدون گزینه ی ALL استفاده شود، رکوردهای تکراری (Duplicate) از نتایج حذف می شوند.
مثال:
برای مثال، دستور SQL زیر، همه ی مشتریان در سوئد که کارمند شرکت هم هستند را نشان می دهد. (بدون رکوردهای تکراری)
SELECT last_name, first_name, cust_num
FROM CUST
WHERE country = ‘Sweden’
INTERSECT
SELECT last_name, first_name, emp_num
FROM EMP
WHERE country = ‘Sweden’;
جهت مطالعه مقاله ی ساختارهای داده ای DB2 (از جمله جدول و رکورد) اینجا کلیک کنید.
EXCEPT:
از طرف دیگر، EXCEPT رکوردهای غیر منطبق را از نتایج دو جدول با هم تلفیق می کند. بعضی از DBMS های دیگر، این عملگر را با اسم MINUS می شناسند.
زمانی که در دستور EXCEPT ALL تعیین شده است، نتیجه ی کلی دستور عبارت است از همه ی رکوردهایی که در نتیجه ی جدول اول وجود دارند اما رکورد مشابهی در نتیجه ی جدول دوم ندارند. در این دستور، رکوردهای تکراری نیز وجود دارند.
اگر EXCEPT بدون گزینه ی ALL مشخص شود، رکوردهای تکراری از نتیجه ی دستور حذف می شوند.
مثال:
به عنوان مثال، SQL زیر تنها آیتم هایی از جدول ۱ را بر می گرداند که در جدول ۲ وجود ندارند.
SELECT item FROM TABLE1EXCEPTSELECT item FROM TABLE2;
مقاله ی انگلیسی این مطلب، توسط Craig Mullins را می توانید در این صفحه مطالعه نمایید.
جهت مشاهده ی آخرین دوره های تخصصی درس فراگیر و پکیج های آموزشی به قسمت محصولات در این لینک مراجعه نمایید.