Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

MySQL सबक्वेरी के साथ EXIST और EXIST NOT ऑपरेटर का क्या उपयोग है?


EXIST ऑपरेटर सबक्वेरी के परिणाम सेट में पंक्तियों के अस्तित्व के लिए परीक्षण करता है। यदि एक सबक्वेरी पंक्ति मान पाया जाता है तो EXISTS सबक्वेरी TRUE है और FALSE होने पर EXISTS सबक्वेरी नहीं है। इसे स्पष्ट करने के लिए हम 'कार', 'ग्राहक' और 'आरक्षण' तालिकाओं का उपयोग कर रहे हैं जिनमें निम्नलिखित डेटा हैं -

mysql> कारों से * चुनें;+----------+--------------+--------+| आईडी | नाम | कीमत |+----------+--------------+-----------+| 1 | नेक्सा | 750000 || 2 | मारुति स्विफ्ट | 450000 || 3 | बीएमडब्ल्यू | 4450000 || 4 | वोल्वो | 2250000 || 5 | ऑल्टो | 250000 || 6 | स्कोडा | 1250000 || 7 | टोयोटा | 240000 || 8 | फोर्ड | 1100000 |+------+--------------+-----------+8 पंक्तियों में सेट (0.02 सेकंड)mysql> ग्राहकों से * चुनें; +---------------+----------+| Customer_Id | नाम |+---------------+----------+| 1 | राहुल || 2 | यशपाल || 3 | गौरव || 4 | वीरेंदर |+---------------+----------+4 पंक्तियों में सेट (0.00 सेकंड)mysql> आरक्षण से * चुनें; +------ +---------------+---------------+| आईडी | Customer_id | दिन |+------+-------------+-----------+| 1 | 1 | 2017-12-30 || 2 | 2 | 2017-12-28 || 3 | 2 | 2017-12-29 || 4 | 1 | 2017-12-25 || 5 | 3 | 2017-12-26 |+----------+-------------+---------------+5 पंक्तियाँ सेट में (0.00 सेकंड) 

उपरोक्त तालिकाओं का उपयोग करते हुए EXIST के साथ MySQL सबक्वेरी निम्नलिखित है -

mysql> उन ग्राहकों से नाम चुनें जहां मौजूद है (चुनें * आरक्षण से जहां Customers.customer_id =Reservations.customer_id);+------------+| नाम |+------------+| राहुल || यशपाल || गौरव |+-----------+3 पंक्तियाँ सेट में (0.06 सेकंड)

उपरोक्त क्वेरी उन ग्राहकों के नाम देती है जिन्होंने आरक्षण किया है।

उपरोक्त तालिकाओं का उपयोग करते हुए NOT EXIST के साथ निम्नलिखित MySQL सबक्वेरी है -

mysql> उन ग्राहकों से नाम चुनें जहां मौजूद नहीं है (चुनें * आरक्षण से जहां Customers.customer_id =Reservations.customer_id);+----------+| नाम |+----------+| वीरेंद्र |+----------+1 पंक्ति सेट में (0.04 सेकंड)

उपरोक्त क्वेरी उन ग्राहकों के नाम देती है जिन्होंने कोई आरक्षण नहीं किया है।


  1. यदि तालिका पहले से मौजूद नहीं है तो एक तालिका बनाएं और उसी क्वेरी में MySQL के साथ एक रिकॉर्ड डालें

    इसके लिए क्रिएट टेबल का उपयोग करें यदि यह मौजूद नहीं है जैसा कि नीचे दिए गए सिंटैक्स में दिखाया गया है - यदि मौजूद नहीं है तो तालिका बनाएं अपना TableName(yourColumnName1 dataType, yourColumnName2 dataType, yourColumnName3 dataType,... N) जैसे अपना Value1 अपने ColumnName1 के रूप में, अपने Value2 को अ

  1. MySQL में तार्किक और ऑपरेटर के साथ अद्यतन करें

    इसके लिए आप WHERE क्लॉज के साथ AND ऑपरेटर का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाएं - mysql> create table DemoTable1616     -> (     -> StudentId int,     -> StudentName varchar(20),     -> StudentMarks int     -> ); Query OK, 0

  1. MySQL में !=NULL और IS NOT NULL में क्या अंतर है?

    यदि आप किसी मान की तुलना !=NULL से करते हैं तो यह NULL देता है। तो, !=NULL अर्थहीन है। !=NULL और IS NOT NULL के बीच अंतर देखने के लिए, आइए पहले एक टेबल बनाएं। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1970 (वैल्यू इंट);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का उपयोग करके टे