सारांश :इस ट्यूटोरियल में, आप सीखेंगे कि SQLite का उपयोग कैसे करें WHERE
क्वेरी द्वारा लौटाई गई पंक्तियों के लिए खोज शर्त निर्दिष्ट करने के लिए खंड।
SQLite का परिचय WHERE
खंड
WHERE
क्लॉज SELECT
. का एक वैकल्पिक क्लॉज है बयान। यह FROM
. के बाद दिखाई देता है निम्नलिखित कथन के रूप में खंड:
SELECT
column_list
FROM
table
WHERE
search_condition;
Code language: SQL (Structured Query Language) (sql)
इस उदाहरण में, आप एक WHERE
जोड़ते हैं SELECT
. का खंड क्वेरी द्वारा लौटाई गई पंक्तियों को फ़िल्टर करने के लिए कथन। SELECT
. का मूल्यांकन करते समय WHERE
. के साथ स्टेटमेंट खंड, SQLite निम्नलिखित चरणों का उपयोग करता है:
- सबसे पहले,
FROM
में तालिका की जांच करें खंड। - दूसरा,
WHERE
. में शर्तों का मूल्यांकन करें इन शर्तों को पूरा करने वाली पंक्तियों को प्राप्त करने के लिए खंड। - तीसरा, अंतिम परिणाम को पिछले चरण की पंक्तियों के आधार पर
SELECT
में कॉलम के साथ सेट करें खंड।
WHERE
. में खोज की स्थिति निम्नलिखित रूप है:
left_expression COMPARISON_OPERATOR right_expression
Code language: SQL (Structured Query Language) (sql)
उदाहरण के लिए, आप निम्न प्रकार से एक खोज शर्त बना सकते हैं:
WHERE column_1 = 100;
WHERE column_2 IN (1,2,3);
WHERE column_3 LIKE 'An%';
WHERE column_4 BETWEEN 10 AND 20;
Code language: SQL (Structured Query Language) (sql)
इसके अलावा SELECT
कथन, आप WHERE
. का उपयोग कर सकते हैं UPDATE
में क्लॉज और DELETE
बयान।
SQLite तुलना ऑपरेटर
एक तुलना ऑपरेटर परीक्षण करता है कि क्या दो भाव समान हैं। निम्न तालिका तुलना ऑपरेटरों को दर्शाती है जिनका उपयोग आप व्यंजक बनाने के लिए कर सकते हैं:
ऑपरेटर | <थ>अर्थ|
---|---|
= | बराबर |
<> या != | बराबर नहीं |
< | इससे कम |
> | से बड़ा |
<= | इससे कम या इसके बराबर |
>= | इससे बड़ा या इसके बराबर |
SQLite लॉजिकल ऑपरेटर्स
लॉजिकल ऑपरेटर आपको कुछ अभिव्यक्तियों की सच्चाई का परीक्षण करने की अनुमति देते हैं। एक तार्किक ऑपरेटर 1, 0, या एक NULL मान देता है।
ध्यान दें कि SQLite बूलियन डेटा प्रकार प्रदान नहीं करता है इसलिए 1 का अर्थ TRUE है, और 0 का अर्थ FALSE है।
निम्न तालिका SQLite तार्किक ऑपरेटरों को दर्शाती है:
संचालक | <थ>अर्थ|
---|---|
सभी | अगर सभी एक्सप्रेशन 1 हैं तो 1 लौटाता है। |
और | यदि दोनों व्यंजक 1 हैं, तो 1 देता है और यदि कोई व्यंजक 0 है तो 0 देता है। |
कोई भी | 1 लौटाता है अगर तुलनाओं के सेट में से कोई एक 1 है। |
बीच में | यदि मान एक सीमा के भीतर है तो 1 लौटाता है। |
मौजूद हैं | यदि सबक्वेरी में कोई पंक्तियाँ हों तो 1 लौटाता है। |
IN | यदि कोई मान मानों की सूची में है तो 1 लौटाता है। |
पसंद करें | यदि मान किसी पैटर्न से मेल खाता है तो 1 लौटाता है |
नहीं | अन्य ऑपरेटरों के मान को उलट देता है जैसे कि मौजूद नहीं है, में नहीं, बीच में नहीं, आदि। |
या | यदि दोनों में से कोई एक व्यंजक 1 है तो सत्य लौटाता है |
SQLite WHERE
खंड उदाहरण
हम tracks
. का उपयोग करेंगे नमूना डेटाबेस में तालिका यह दर्शाने के लिए कि WHERE
. का उपयोग कैसे करें खंड।
इक्वलिटी ऑपरेटर (=
) सबसे अधिक इस्तेमाल किया जाने वाला ऑपरेटर है। उदाहरण के लिए, निम्न क्वेरी WHERE
. का उपयोग करती है एल्बम आईडी 1:
SELECT
name,
milliseconds,
bytes,
albumid
FROM
tracks
WHERE
albumid = 1;
Code language: SQL (Structured Query Language) (sql)
इसे आज़माएं
SQLite AlbumId
में संग्रहीत मानों की तुलना करता है एक शाब्दिक मान वाला कॉलम 1
परीक्षण करने के लिए कि क्या वे बराबर हैं। केवल शर्त को पूरा करने वाली पंक्तियाँ लौटाई जाती हैं।
जब आप दो मानों की तुलना करते हैं, तो आपको सुनिश्चित करना चाहिए कि वे एक ही डेटा प्रकार हैं। आपको संख्याओं की तुलना संख्याओं से, स्ट्रिंग को स्ट्रिंग्स आदि से करनी चाहिए।
यदि आप विभिन्न डेटा प्रकारों में मानों की तुलना करते हैं, जैसे, एक संख्या के साथ एक स्ट्रिंग, SQLite को निहित डेटा प्रकार रूपांतरण करना होता है, लेकिन सामान्य तौर पर, आपको ऐसा करने से बचना चाहिए।
आप अभिव्यक्तियों को संयोजित करने के लिए तार्किक ऑपरेटर का उपयोग करते हैं। उदाहरण के लिए, एल्बम 1 के ट्रैक प्राप्त करने के लिए जिसकी लंबाई 200,000 मिलीसेकंड से अधिक है, आप निम्न कथन का उपयोग करते हैं:
SELECT
name,
milliseconds,
bytes,
albumid
FROM
tracks
WHERE
albumid = 1
AND milliseconds > 250000;
Code language: SQL (Structured Query Language) (sql)
इसे आज़माएं
कथन में दो भावों का प्रयोग किया गया है albumid = 1
और milliseconds > 250000
. यह AND
. का उपयोग करता है इन भावों को संयोजित करने के लिए तार्किक संचालिका।
SQLite WHERE
LIKE
. के साथ क्लॉज ऑपरेटर उदाहरण
कभी-कभी, हो सकता है कि आपको वह डेटा ठीक से याद न हो, जिसे आप खोजना चाहते हैं। इस मामले में, आप LIKE
. का उपयोग करके एक सटीक खोज करते हैं ऑपरेटर।
उदाहरण के लिए, स्मिथ द्वारा रचित कौन से ट्रैक खोजने के लिए, आप LIKE
. का उपयोग करते हैं ऑपरेटर इस प्रकार है:
SELECT
name,
albumid,
composer
FROM
tracks
WHERE
composer LIKE '%Smith%'
ORDER BY
albumid;
Code language: SQL (Structured Query Language) (sql)
इसे आज़माएं
आपको आरए द्वारा रचित ट्रैक मिलते हैं। स्मिथ-डीजल, एड्रियन स्मिथ, आदि.
SQLite WHERE
IN
. के साथ क्लॉज ऑपरेटर उदाहरण
IN
ऑपरेटर आपको यह जांचने की अनुमति देता है कि कोई मान अल्पविराम से अलग किए गए मानों की सूची में है या नहीं। उदाहरण के लिए, 2 या 3 मीडिया प्रकार आईडी वाले ट्रैक ढूंढने के लिए, आप IN
. का उपयोग करते हैं ऑपरेटर जैसा कि निम्नलिखित कथन में दिखाया गया है:
SELECT
name,
albumid,
mediatypeid
FROM
tracks
WHERE
mediatypeid IN (2, 3);
Code language: SQL (Structured Query Language) (sql)
इसे आज़माएं
इस ट्यूटोरियल में, आपने सीखा है कि SQLite WHERE
. का उपयोग कैसे किया जाता है तुलना और तार्किक ऑपरेटरों का उपयोग करके अंतिम परिणाम सेट में पंक्तियों को फ़िल्टर करने के लिए खंड।