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   |
+------+-------+
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)