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

MySQL में रिकर्सिव SELECT क्वेरी कैसे करें

रिकर्सिव सेलेक्ट के लिए, आइए एक उदाहरण देखते हैं। सबसे पहले, हम एक टेबल बनाएंगे। टेबल बनाने के लिए CREATE कमांड का उपयोग किया जाता है।

mysql> CREATE table tblSelectDemo 
-> ( 
-> id int, 
-> name varchar(100) 
-> ); 
Query OK, 0 rows affected (0.61 sec)

अब, हम टेबल "tblSelectDemo" में रिकॉर्ड्स डालेंगे।

mysql> insert into tblSelectDemo values(1,'John'); 
Query OK, 1 row affected (0.10 sec) 
mysql> insert into tblSelectDemo values(2,'Carol'); 
Query OK, 1 row affected (0.09 sec) 
mysql> insert into tblSelectDemo values(3,'Smith'); 
Query OK, 1 row affected (0.17 sec) 
mysql> insert into tblSelectDemo values(4,'David'); 
Query OK, 1 row affected (0.15 sec) 
mysql> insert into tblSelectDemo values(5,'Bob'); 
Query OK, 1 row affected (0.18 sec)

सभी रिकॉर्ड्स प्रदर्शित करने के लिए।

mysql> SELECT *from tblSelectDemo;

यहां आउटपुट है।

+------+-------+ 
| id | name | 
+------+-------+ 
| 1 | John | 
| 2 | Carol | 
| 3 | Smith | 
| 4 | David | 
| 5 | Bob | 
+------+-------+ 
5 rows in set (0.00 sec)

रिकर्सिव SELECT के लिए निम्नलिखित सिंटैक्स है।

mysql> SELECT var1.id as id, @sessionName:= var1.Name as NameofStudent 
-> from (select * from tblSelectDemo order by id desc) var1 
-> join 
-> (select @sessionName:= 4)tmp 
-> where var1.id = @sessionName;

यहां आउटपुट है।

+------+----------------+ 
| id | NameofStudent | 
+------+----------------+ 
| 4 | David | 
+------+----------------+ 
1 row in set (0.00 sec)
नोट: MySQL 8.0+ में रिकर्सिव क्वेरी के लिए WITH RECURSIVE (CTE) का उपयोग करना अधिक बेहतर और मानक तरीका है।
  1. - MySQL SELECT क्वेरी में ALIAS (उपनाम) कैसे उपयोग करें

    AS कीवर्ड के साथ कॉलम और टेबल का उपनाम देना MySQL में कॉलम या टेबल को अस्थायी नाम (उपनाम) देने के लिए AS कीवर्ड का उपयोग करें। यह वैकल्पिक है लेकिन पठनीयता बढ़ाता है। टेबल और डेटा CREATE TABLE DemoTable ( Name VARCHAR(100) ); Query OK, 0 rows affected (0.51 sec) INSERT INTO DemoTable VALUES(

  1. - MySQL में शर्त के साथ ORDER BY और SELECT कैसे करें?

    कंडीशनल ORDER BY: जीरो वैल्यू अंत में किसी कॉलम को सॉर्ट करते समय खास मान (जैसे 0) को अंत में रखने और बाकी को नॉर्मल ऑर्डर में रखने के लिए बूलियन एक्सप्रेशन का उपयोग करें। सिंटैक्स SELECT * FROM yourTableName ORDER BY yourColumnName = 0, yourColumnName; टेबल बनाना और डेटा इन्सर्ट करना CREATE TABL

  1. - MySQL में महीने के अनुसार रिकॉर्ड कैसे चुनें (SELECT by Month)?

    MySQL में MONTH() फ़ंक्शन का उपयोग करके दिनांक कॉलम से महीना निकालकर रिकॉर्ड फ़िल्टर किए जा सकते हैं। यह मासिक रिपोर्ट और विश्लेषण के लिए आवश्यक है। सिंटैक्स SELECT * FROM table_name WHERE MONTH(date_column) = month_number; उदाहरण तालिका बनाएं और डेटा डालें: mysql> CREATE TABLE DemoTable (Ship