سؤال
هل هناك طريقة لتحديد البيانات التي يحدث فيها أي شرط من الشروط المتعددة في نفس الحقل؟
مثال:عادةً ما أكتب بيانًا مثل:
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');
لا تنتمي إلى StackOverflow