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

MySQLで再帰SELECTクエリを実行する方法は?

リカーシブ選択の例を見てみましょう。まず、テーブルを作成します。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   | 学生の名前  |
+------+----------------+
|    4 | David          |
+------+----------------+
1 セット内の行(0.00秒)
おすすめ