对于递归选择,让我们来看一个例子。首先,我们将创建一个表。CREATE命令用于创建表。
mysql> CREATE table tblSelectDemo - > ( - > id int, - > name varchar(100) - > );
现在,我们将在“ tblSelectDemo”表中插入记录。
mysql> insert into tblSelectDemo values(1,'John'); mysql> insert into tblSelectDemo values(2,'Carol'); mysql> insert into tblSelectDemo values(3,'Smith'); mysql> insert into tblSelectDemo values(4,'David'); mysql> insert into tblSelectDemo values(5,'Bob');
显示所有记录。
mysql> SELECT *from tblSelectDemo;
这是输出。
+------+-------+ | id | name | +------+-------+ | 1 | John | | 2 | Carol | | 3 | Smith | | 4 | David | | 5 | Bob | +------+-------+ 6 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)