English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

¿Cómo ejecutar consultas SELECT recursivas en MySQL?

Para el ejemplo de selección recursiva, veamos un caso. Primero, crearemos una tabla. La orden CREATE se utiliza para crear tablas.

mysql> CREATE table tblSelectDemo
   - > (
   - > id int,
   - > nombre varchar(100)
   - > );

Ahora, insertaremos registros en la tabla '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');

Mostrar todos los registros.

mysql> SELECT *from tblSelectDemo;

Esto es la salida.

+------+-------+
| id | nombre |
+------+-------+
|    1 | John |
|    2 | Carol |
|    3 | Smith |
|    4 | David |
|    5 | Bob |
+------+-------+
6 filas en conjunto (0.00 sec)

Aquí está la sintaxis del SELECT recursivo.

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

Esto es la salida.

+------+----------------+
| id | Nombre del Estudiante |
+------+----------------+
|    4 | David |
+------+----------------+
1 row in set (0.00 sec)