SQLite
 sql >> डेटाबेस >  >> RDS >> SQLite

SQLite कहा पे

सारांश :इस ट्यूटोरियल में, आप सीखेंगे कि 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 निम्नलिखित चरणों का उपयोग करता है:

  1. सबसे पहले, FROM में तालिका की जांच करें खंड।
  2. दूसरा, WHERE . में शर्तों का मूल्यांकन करें इन शर्तों को पूरा करने वाली पंक्तियों को प्राप्त करने के लिए खंड।
  3. तीसरा, अंतिम परिणाम को पिछले चरण की पंक्तियों के आधार पर SELECT में कॉलम के साथ सेट करें खंड।

WHERE . में खोज की स्थिति निम्नलिखित रूप है:

left_expression COMPARISON_OPERATOR right_expressionCode 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 . का उपयोग कैसे किया जाता है तुलना और तार्किक ऑपरेटरों का उपयोग करके अंतिम परिणाम सेट में पंक्तियों को फ़िल्टर करने के लिए खंड।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. तालिका से केवल पहला डेटा क्वेरी करें

  2. SQLite ट्रिगर

  3. स्क्लाइट डेटाबेस में उनके नाम के अनुसार ड्रा करने योग्य से छवि कैसे प्राप्त करें और फिर इसे सूची दृश्य में प्रदर्शित करें

  4. SQLite कुल () कैसे काम करता है

  5. इसके कारण:android.database.sqlite.SQLiteException:ऐसी कोई तालिका नहीं:(कोड 1) Android