अन्य प्रोग्रामिंग भाषाओं की तरह, संरचित क्वेरी भाषा में सशर्त विवरण होते हैं जो डेटा के प्रवाह को नियंत्रित करते हैं। यदि शर्त पूरी होती है तो IF फ़ंक्शन एक स्टेटमेंट देता है और अगर पूरा नहीं होता है तो दूसरा प्रकार का स्टेटमेंट (या बिल्कुल भी नहीं)। आइए MySQL का उपयोग करके SQL IF फ़ंक्शन को देखें।
तैयारी
यह SQL Fiddle एक नमूना स्कीमा से लिंक करता है जिसमें नाम, आयु और लिंग शामिल हैं - यही वह है जिसके साथ हम इस लेख में काम करते हैं। इस स्कीमा के साथ अपने स्वयं के आईडीई में एक तालिका बनाएं:
create table names ( id INT, name VARCHAR(50), age INT, gender VARCHAR(50) ); insert into names (id, name, age, gender) values (1, 'Bret Starkings', 55, 'M'); insert into names (id, name, age, gender) values (2, 'Bobbye Eyckel', 76, 'F'); insert into names (id, name, age, gender) values (3, 'Barbie Veschi', 50, 'F'); insert into names (id, name, age, gender) values (4, 'Electra Blazewicz', 47, 'F'); insert into names (id, name, age, gender) values (5, 'Estrella Borleace', 57, 'F'); insert into names (id, name, age, gender) values (6, 'Washington Pittwood', 75, 'M'); insert into names (id, name, age, gender) values (7, 'Phaedra Tertre', 27, 'F'); insert into names (id, name, age, gender) values (8, 'Nicolina Elie', 76, 'F'); insert into names (id, name, age, gender) values (9, 'Hugh Hughson', 86, 'M'); insert into names (id, name, age, gender) values (10, 'Dare Ravilious', 59, 'M'); insert into names (id, name, age, gender) values (11, 'Cad Levins', 13, 'M'); insert into names (id, name, age, gender) values (12, 'Sollie Kimbury', 33, 'M'); insert into names (id, name, age, gender) values (13, 'Elga Rearie', 61, 'F'); insert into names (id, name, age, gender) values (14, 'Cherey Terron', 54, 'F'); insert into names (id, name, age, gender) values (15, 'Abbie Kent', 23, 'F'); insert into names (id, name, age, gender) values (38, 'Nelia Picot', 2, 'F'); insert into names (id, name, age, gender) values (39, 'Benedetto Smithin', 33, 'M'); insert into names (id, name, age, gender) values (40, 'Rickie Maymand', 83, 'F'); insert into names (id, name, age, gender) values (41, 'Kristoforo Dashkov', 6, 'M'); insert into names (id, name, age, gender) values (42, 'Cherice Genty', 6, 'F'); insert into names (id, name, age, gender) values (43, 'Shirley Fake', 95, 'F'); insert into names (id, name, age, gender) values (44, 'Aeriel Plant', 36, 'F'); insert into names (id, name, age, gender) values (45, 'Halimeda Gook', 74, 'F'); insert into names (id, name, age, gender) values (46, 'Minor Harriot', 63, 'M'); insert into names (id, name, age, gender) values (47, 'Greggory Found', 61, 'M'); insert into names (id, name, age, gender) values (48, 'Vivien Braund', 94, 'F'); insert into names (id, name, age, gender) values (49, 'Gaylord Pochet', 96, 'M'); insert into names (id, name, age, gender) values (77, 'Nataline Sealand', 43, 'F')
IF()
IF(expression ,expr_true, expr_false);
MySQL डेटाबेस में IF फ़ंक्शन के लिए सिंटैक्स IF कीवर्ड का उपयोग करता है और फिर तीन मापदंडों में लेता है:बूलियन एक्सप्रेशन फ़ंक्शन का मूल्यांकन कर रहा है, यदि स्थिति सही है तो वापस जाने के लिए स्टेटमेंट और फिर कंडीशन के गलत होने पर वापस आने के लिए स्टेटमेंट .
SELECT name, age, IF(age >= 18, "YES", "NO") AS OVER_18 FROM names;
ऊपर दी गई हमारी क्वेरी हमारी प्रविष्टि के नाम और उम्र का चयन करती है और फिर एक सशर्त का चयन करती है जिसे हम OVER_18 कहते हैं। हमारे SQL आंशिक परिणाम नीचे दिखाए गए हैं (आप इस SQL Fiddle में पूर्ण परिणाम देख सकते हैं):
नाम | उम्र | OVER_18 |
ब्रेट स्टार्किंग | 55 | हां |
बॉबी आइकेल | 76 | हां |
बार्बी वेस्ची | 50 | हां |
इलेक्ट्रा ब्लेज़विक्ज़ | 47 | हां |
एस्ट्रेला बोरलीस | 57 | हां |
वाशिंगटन पिटवुड | 75 | हां |
फेदरा टर्ट्रे | 27 | हां |
निकोलिना एली | 76 | हां |
ह्यूग ह्यूगसन | 86 | हां |
साहसी साहसी | 59 | हां |
कैड लेविन्स | 13 | नहीं |
IFNULL()
IFNULL()
एक सशर्त बयान है जो पूछता है कि पहली अभिव्यक्ति न्यूल है या नहीं। यदि ऐसा है, तो यह दूसरी अभिव्यक्ति देता है, न कि पहला।
IFNULL(NULL, 2) ⇒ returns 2 IFNULL(0, 4) ⇒ returns 0 SELECT name, IFNULL(age, "NOT ENTERED") AS age FROM names;
यह MySQL स्टेटमेंट आयु नामक एक कॉलम देता है जो प्रत्येक NULL प्रविष्टि को "NOT ENTERED" स्ट्रिंग के साथ अधिलेखित कर देगा।
81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।
बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।
NULLIF()
NULLIF()
फ़ंक्शन में पारित होने वाले दोनों भाव बराबर होने पर NULL लौटाता है।
SELECT name, NULLIF(name, age) AS FROM names;
यह एक चरम उदाहरण है क्योंकि शायद ऐसा कोई मामला नहीं होगा जहां नाम और उम्र बराबर हो, लेकिन कम से कम सिंटैक्स इस तरह लिखा जाएगा। क्या आप किसी ऐसे मामले के बारे में सोच सकते हैं जहां यह स्टेटमेंट ब्लॉक फायदेमंद होगा?
निष्कर्ष
MySQL में, कुछ अलग-अलग if फ़ंक्शन हैं जो हमें अपने डेटा के प्रवाह को नियंत्रित करने की अनुमति देते हैं। आप जिस भी डेटाबेस के साथ काम कर रहे हैं, इन अवधारणाओं का अनुवाद किया जाता है - अपने विशिष्ट डेटाबेस के बारे में सिंटैक्स के बारे में अधिक जानकारी के लिए दस्तावेज़ देखें।