الانتقال إلى المحتوى الرئيسي
تُرجع جملة EXCEPT فقط الصفوف الناتجة عن الاستعلام الأول دون الثاني.
  • يجب أن يحتوي كلا الاستعلامين على العدد نفسه من الأعمدة، وبالترتيب نفسه، ونوع البيانات نفسه.
  • قد تتضمن نتيجة EXCEPT صفوفًا مكررة. استخدم EXCEPT DISTINCT إذا لم يكن ذلك مرغوبًا.
  • تُنفَّذ عبارات EXCEPT المتعددة من اليسار إلى اليمين إذا لم تُحدَّد أقواس.
  • لعامل EXCEPT أولوية مماثلة لجملة UNION، وأولوية أقل من جملة INTERSECT.

البنية

يمكن أن يكون الشرط أي تعبير وفقًا لمتطلباتك. بالإضافة إلى ذلك، يمكن استخدام EXCEPT() لاستبعاد الأعمدة من النتيجة في الجدول نفسه، كما هو الحال في BigQuery (Google Cloud)، باستخدام الصيغة التالية:

أمثلة

توضح الأمثلة في هذا القسم كيفية استخدام جملة EXCEPT.

تصفية الأرقام باستخدام جملة EXCEPT

إليك مثالًا بسيطًا يعيد الأرقام من 1 إلى 10 التي لا تقع ضمن الأرقام من 3 إلى 8:
Query
Response

استبعاد أعمدة محددة باستخدام EXCEPT()

يمكن استخدام EXCEPT() لاستبعاد الأعمدة من النتيجة بسرعة. على سبيل المثال، إذا أردنا تحديد جميع الأعمدة في جدول ما، باستثناء بعض الأعمدة المحددة، كما هو موضح في المثال أدناه:
Query
Response

استخدام EXCEPT و INTERSECT مع بيانات العملات المشفّرة

يمكن في كثير من الأحيان استخدام EXCEPT و INTERSECT بالتبادل مع منطق بولياني مختلف، وكلاهما مفيد إذا كان لديك جدولان يشتركان في عمود واحد (أو عدة أعمدة). على سبيل المثال، لنفترض أن لدينا بضعة ملايين من صفوف البيانات التاريخية للعملات المشفّرة التي تتضمن أسعار التداول والحجم:
Query
Response
لنفترض الآن أن لدينا جدولًا باسم holdings يتضمن قائمة بالعملات المشفّرة التي نملكها، إلى جانب عدد الوحدات من كل عملة:
Query
يمكننا استخدام EXCEPT للإجابة عن سؤال مثل “ما العملات التي نملكها ولم تُتداول قط بأقل من 10 دولارات؟”:
Query
Response
هذا يعني أنه من بين العملات المشفّرة الأربع التي نملكها، لم تنخفض قيمة Bitcoin وحدها أبدًا إلى أقل من 10 دولارات (استنادًا إلى البيانات المحدودة المتاحة لدينا هنا في هذا المثال).

استخدام EXCEPT DISTINCT

لاحظ أنه في الاستعلام السابق ظهرت في النتيجة عدة حيازات من Bitcoin. يمكنك إضافة DISTINCT إلى EXCEPT لإزالة الصفوف المكررة من النتيجة:
Query
Response
راجع أيضًا
آخر تعديل في ٢ يوليو ٢٠٢٦