web-dev-qa-db-ja.com

SQL Serverのスカラー関数、テーブル値関数、集計関数の違いは?

SQL Serverのスカラー値、テーブル値、および集計関数の違いは何ですか?そして、クエリからそれらを呼び出すには別のメソッドが必要ですか、それとも同じ方法で呼び出しますか?

45
Ehsan Jeihani

スカラー関数は単一の値を返します。データベース内のテーブルとは関係がない場合もあります。

テーブル値関数は、選択基準を満たすテーブル内の行に対して指定された列を返します。

集計値関数は、テーブルの行全体で計算を返します。たとえば、値を合計します。

6
Michael Bennett

スカラー関数

単一の値を返します。 T-SQL構文を使用して他のプログラミング言語で関数を記述するのと同じです。

テーブル値関数

上記と比べると少し異なります。テーブル値を返します。この関数の本体内に、正確なテーブルを返すクエリを記述します。例えば:

CREATE FUNCTION <function name>(parameter datatype)

RETURN table

AS

RETURN

(

-- *write your query here* ---

)

ここにはBEGINENDステートメントがないことに注意してください。

集計関数

GROUP句と一緒に使用される組み込み関数が含まれます。例:SUM()MAX()MIN()AVG()COUNT()は集約関数です。

0
LooselyCoded