SQL WHILEループの使い方:基本構文とサンプルコード
SQLでは、他のプログラミング言語のwhileループ文のような構造はありません。しかし、再帰クエリを使用してwhileループの機能を模倣することができます。これは、WITH句と再帰クエリを使用して行うことができます。以下は、再帰クエリを使用してwhileループを模倣する方法を示す簡単な例です。
WITH RECURSIVE my_recursive_cte AS (
SELECT 1 AS i
UNION ALL
SELECT i + 1
FROM my_recursive_cte
WHERE i < 10
)
SELECT *
FROM my_recursive_cte;
この例では、1から10までの数字のシーケンスを生成するために再帰クエリを使用しています。まず、再帰共通テーブル式(CTE)を定義し、開始値を1にします。その後、再帰ステップで現在の値に1を加え、条件として i が10未満であることを制限します。最後に、この再帰CTEをクエリして、1から10までの整数のシーケンスを取得します。
一般的に言って、SQL には組み込みの while ループ文はありませんが、再帰検索を使って同様の機能を模倣することができます。