Notice: Constant LEARNDASH_UPDATES_ENABLED already defined in /home/h246483/public_html/wp-content/plugins/sfwd-lms/nagatheme/naga-learndash-ic.php on line 0

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wp-schema-pro domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/h246483/public_html/wp-includes/functions.php on line 6121
SQL INTERSECT - هادی محمدیان
SQL

SQL INTERSECT

در نظر بگیرید که دو جدول به نام Customers و Orders در پایگاه داده خود دارید. جدول Customers شامل ستون‌های CustomerID، CustomerName و City. جدول Orders شامل ستون‌های OrderID، CustomerID و ProductCode.

هدف شما نمایش لیستی از شناسه مشتریانی است که هم در جدول Customers و هم در جدول Orders وجود دارند (یعنی مشتریانی که سفارش ثبت کرده‌اند).

در اینجا یک پرس و جوی SQL با استفاده از INTERSECT برای دستیابی به این هدف ارائه می‌شود:

SQL

SELECT CustomerID
FROM Customers
INTERSECT
SELECT CustomerID
FROM Orders;

توضیح:

  • این پرس و جو از دو بخش تشکیل شده است که با INTERSECT به هم متصل شده‌اند.
  • هر دو بخش CustomerID را از جداول مربوطه انتخاب می‌کنند.
  • INTERSECT فقط ردیف‌هایی را برمی‌گرداند که در هر دو نتیجه پرس و جوی جداگانه وجود داشته باشند (مشترک باشند).

نکات:

  • این پرس و جو به طور واضح و خوانا با استفاده از نام‌های کامل توابع و کلمات کلیدی نوشته شده است.
  • از INTERSECT برای یافتن رکوردهای مشترک در دو جدول استفاده شده است.
  • پرس و جو به طور کامل با توضیحات و تفاسیر ارائه شده است.

نتیجه:

فرض کنید در جدول Customers داده‌های زیر وجود داشته باشد:

CustomerID CustomerName City
1 John Doe New York
2 Jane Doe Los Angeles
3 Peter Jones Chicago

و فرض کنید در جدول Orders داده‌های زیر وجود داشته باشد:

OrderID CustomerID ProductCode
1 1 ABC
2 2 DEF
3 4 GHI

با اجرای پرس و جوی INTERSECT خروجی زیر را دریافت می‌کنیم:

CustomerID
1

همانطور که مشاهده می‌کنید، INTERSECT فقط شناسه مشتری (CustomerID) را برمی‌گرداند که در هر دو جدول Customers و Orders وجود دارد (در این مثال، مشتری با شناسه ۱ سفارش ثبت کرده است).

مثال‌های دیگر:

  • می‌توانید از UNION یا UNION ALL برای ترکیب نتایج از چندین پرس و جو استفاده کنید.
  • می‌توانید از EXCEPT برای یافتن رکوردهایی که در یک جدول هستند ولی در جدول دیگر نیستند استفاده کنید.
  • می‌توانید از WHERE clause برای فیلتر کردن نتایج قبل از استفاده از INTERSECT استفاده کنید.

 

0/5 ( 0 امتیاز )
نمایش بیشتر

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا