कथन के WHERE भाग का उपयोग करते हुए SQL परिणामों को फ़िल्टर करते समय सर्वोत्तम अभ्यास

मैं थोड़ी देर के लिए mySQL का उपयोग कर रहा हूं, हालांकि यह पहली बार है कि मुझे निम्न की तरह एक क्वेरी preform करना है। यह काम करता है लेकिन मुझे आश्चर्य है कि इसे लिखने का एक बेहतर तरीका है या नहीं।

SELECT * FROM foo WHERE bar = 10058 or bar = 90234  or bar = 98211 or bar 4002 or bar = 90023

क्या इस पद्धति का उपयोग करके मैं पंक्तियों की संख्या को खींच सकता हूं? क्या मैं गलती कर रहा हूँ? क्या कोई बेहतर तरीका है?

इस विशेष मामले बार में एफवाईआई हमेशा अद्वितीय होगा

0
जोड़ा संपादित
विचारों: 1

4 उत्तर

आप एक IN खंड चाहते हैं

SELECT * FROM foo WHERE bar in (10058,90234,98211,4002,90023)

वैसे भी, आंतरिक रूप से आपका डीबी इंजन इसे रन टाइम पर ओआरड स्टैक के रूप में विस्तारित करेगा; i.e पसंद है

WHERE bar = 10058 or bar = 90234  or bar = 98211 or bar 4002 or bar = 90023
0
जोड़ा

आप IN का उपयोग करना चाहते हैं:

SELECT *
FROM `foo`
WHERE `bar` IN (10048, 90234, 98211, 4002, 90023)
0
जोड़ा

IN का उपयोग करें, इस तरह:

SELECT * FROM foo WHERE bar IN (10058,90234,98211,4002,90023)
0
जोड़ा

आप कहां से क्लॉज कर सकते हैं:

SELECT * FROM foo WHERE bar in (10058,90234,98211,4002,90023)
0
जोड़ा