سؤال

هل هناك طريقة لتحديد البيانات التي يحدث فيها أي شرط من الشروط المتعددة في نفس الحقل؟

مثال:عادةً ما أكتب بيانًا مثل:

select * from TABLE where field = 1 or field = 2 or field = 3

هل هناك طريقة لقول شيء مثل: بدلاً من ذلك؟

select * from TABLE where field = 1 || 2 || 3

هو موضع تقدير أي مساعدة.

هل كانت مفيدة؟

المحلول

الشيء المؤكد أن أبسط طريقة هي:

select foo from bar where baz in (1,2,3)

نصائح أخرى

select * from TABLE where field IN (1,2,3)

يمكنك أيضًا دمج هذا مع استعلام فرعي يُرجع حقلاً واحدًا فقط:

    select * from TABLE where field IN (SELECT boom FROM anotherTable)

أو:

SELECT foo FROM bar WHERE baz BETWEEN 1 AND 3

حدد * من الجدول حيث الحقل في (1، 2، 3)

WHERE field IN (1, 2, 3)

لا يزال بإمكانك استخدام في ل

select *
from table
where field  = '1' or field = '2' or field = '3'

انه فقط

select * from table where field in ('1','2','3')

بينما in هو اختصار ل or ولم أكن متأكدًا من كيفية الجمع بين الأمرين in مع and, ، لقد فعلت ذلك بهذه الطريقة

 SELECT * FROM table
 WHERE column1='x' AND (column2='y' OR column2='z');
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top