エンジニアの将来って?

現在7年目のCOBOL→Java→C#エンジニアが、将来への考えや勉強のアウトプット、たまに腎臓について書くブログです

【SQL Server】Transact-SQLとは?解説します

こんにちは。たいら(@tairaengineer2)です。
この記事では、SQL ServerTransact-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から引用させて頂きました

図にすると

f:id:Tairax:20190521232741p:plain

こんな感じです。
一般的な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】UPPER関数について解説します

まとめ:Transact-SQLはマイクロソフトが拡張した言語

以上がTransact-SQLについての解説です。
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ

 

ほかにもSQL Server解説記事を書いてます。
よければご参考ください。

【SQL Server】「変更の保存が許可されていません」のエラーメッセージが表示されたときの解決策をお伝えします

【SQL Server】特定のテーブルのスキーマとデータをInsert文でエクスポートする方法を解説します