SQL LEAD関数とは?使い方と実践例をわかりやすく解説

SQLにおいて、LEAD関数は現在の行の後に指定された行数のデータにアクセスするために使用されます。元のクエリの順序を変更せずに次の行の値を取得することができます。LEAD関数は通常、特定の順序で結果が返されるようにするためにORDER BY句と一緒に使用されます。

LEAD関数の基本的な構文は以下の通りです:

LEAD(expression, offset, default) OVER (PARTITION BY partition_col ORDER BY order_col)

そのうち:

  1. 次の行の値を取得するための列または式。
  2. offset: アクセスする行のオフセット。 デフォルトは1で、次の行の値にアクセスすることを示します。
  3. デフォルト:オプションパラメータで、次の行に値がない場合に返されるデフォルト値を表します。
  4. PARTITION BYは、グループ化する列を指定するためのオプションの句です。
  5. ORDER BYは、結果の並べ替え方法を指定するために使用されます。

以下は、LEAD関数の例です。

SELECT 
    product_id,
    product_name,
    LEAD(product_name, 1, 'N/A') OVER (ORDER BY product_id) AS next_product
FROM products;

このクエリは、製品ID、製品名、および次の製品名が含まれる結果セットを返します。次の製品がない場合は、デフォルト値は「N/A」です。

bannerAds