كيف أستخدم IN لاختيار عدة قيم في SQL؟

متوسطقراءة دقيقةآخر تحديث 2 أكتوبر 2026

SQL قواعد البيانات

الإجابة

تختبر IN ما إذا كانت قيمة العمود تساوي إحدى القيم المذكورة في قائمة. وهي طريقة واضحة لكتابة عدة بدائل للمساواة دون تكرار اسم العمود مع OR في كل مرة. فاختيار فعاليات في مدينتين يمكن كتابته بشرط واحد يحتوي على اسمي المدينتين داخل قوسين، مع الفصل بينهما بفاصلة.

يمكن ربط شرط IN بشرط آخر باستخدام AND. عندها يجب أن يحقق الصف الانتماء إلى القائمة والشرط الإضافي معًا. وجود قيمة داخل القائمة لا يتجاوز الشروط الأخرى في الاستعلام. كما لا تقوم IN بترتيب النتائج بحسب ترتيب القيم المكتوبة داخلها؛ إذا كان ترتيب النتيجة مهمًا، نستخدم ORDER BY بشكل مستقل. تساعد هذه الصيغة على جعل قوائم البدائل القصيرة سهلة القراءة والمراجعة.

مثال

CREATE TABLE events_in_example (id INT, city VARCHAR(30), seats INT);
INSERT INTO events_in_example VALUES (1, 'Amman', 20), (2, 'Cairo', 0), (3, 'Dubai', 10);
SELECT id FROM events_in_example WHERE city IN ('Amman', 'Cairo') AND seats > 0;

باختصار: IN تختبر المساواة مع أحد البدائل، وتبقى الشروط المرتبطة بها مطلوبة.

هل تريد تعلّم SQL خطوة بخطوة مع تمارين عملية؟ تابع مسار SQL من الأساسيات للاحتراف.

اختبر فهمك

ما قيم id التي يعرضها الاستعلام التالي؟

CREATE TABLE events_in_quiz (id INT, city VARCHAR(30), seats INT);
INSERT INTO events_in_quiz VALUES (1, 'Amman', 20), (2, 'Cairo', 0), (3, 'Dubai', 10), (4, 'Cairo', 5);
SELECT id FROM events_in_quiz WHERE city IN ('Amman', 'Cairo') AND seats > 0 ORDER BY id;