こんにちは。たいら(@tairaengineer2)です。
この記事では、SQL ServerのTransact-SQLについて解説します。
スポンサーリンク
Transact-SQLとは
Transact-SQLとは、SQL Serverで使うことのできるSQL言語です。
マイクロソフトが一般的なSQLを基に、独自に拡張して開発しました。
Transact-SQL (T-SQL) は、マイクロソフトとSybaseが独自に拡張したSQL言語である。
マイクロソフトによる実装は Microsoft SQL Server として出荷されている。
Sybase ではこの言語を Sybase SQL Server の後継である Adaptive Server Enterprise で使っている。
SQL を強化するため、次のような機能が追加されている。
- 制御フロー言語
- 局所変数
- グローバル変数
- 文字列処理、データ処理、数値処理のための各種関数。
- DELETE文とUPDATE文の強化
Transact-SQL - Wikipediaから引用させて頂きました
図にすると
こんな感じです。
一般的なSQLを拡張したものがTransact-SQLです。
Transact-SQLならではのものもありますが一般的なSQLを知っているならば、Transact-SQLもあまり困らないと思います。
Transact-SQLの関数
Transact-SQLならではというと、関数があります。
この章ではTransact-SQLの関数の種類を紹介します。
関数の種類 | 説明 |
---|---|
集計関数 | 集計関数は、値の集まりに対して計算を実行し、1 つの値を返します。 SELECT ステートメントの選択リストまたは HAVING 句で使うことができます。 集計を GROUP BY 句と組み合わせて使って、行のカテゴリに対する集計を計算できます。 特定の値範囲の集計を計算するには、OVER 句を使います。 GROUPING または GROUPING_ID の集計の後に OVER 句を使うことはできません。 |
分析関数 | 分析関数によって、行のグループに基づいた集計値が計算されます。 ただし集計関数とは異なり、分析関数は各グループについて複数の行を返すことがあります。 分析関数を使うと、グループ内の移動平均、集計途中経過、パーセンテージまたは上位 N 位の結果を計算できます。 |
順位付け関数 | 順位付け関数により、パーティションの各行の順位値が返されます。 使用する関数によっては、いくつかの行で、他の行と同じ値を受け取る場合があります。 |
行セット関数 | 行セット関数は、SQL ステートメントの中でテーブル参照のように使用できるオブジェクトを返します。 |
スカラー関数 | 1 つの値に対して操作を行い、1 つの値を返します。 スカラー関数は、式を使用できるすべての場所で使用できます。 |
Microsoft SQL データベース関数とは - SQL Server | Microsoft Docsから引用させて頂きました
関数は様々な種類があり、Transact-SQL独自の関数というものが結構あります。
このブログで関数を解説している記事がありますので、よければご参考ください。
【SQL Server】大文字から小文字に変換するLOWER関数について解説します
【SQL Server】連番をふれるROW_NUMBER関数について解説します
スポンサーリンク
まとめ:Transact-SQLはマイクロソフトが拡張した言語
以上がTransact-SQLについての解説です。
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
ほかにもSQL Server解説記事を書いてます。
よければご参考ください。
【SQL Server】「変更の保存が許可されていません」のエラーメッセージが表示されたときの解決策をお伝えします
【SQL Server】特定のテーブルのスキーマとデータをInsert文でエクスポートする方法を解説します
今までブログで書いたSQL Serverの解説記事のまとめは、こちらをご参考ください。