とあるITエンジニアたちの備忘録

新米エンジニア5人がお送りする、ちょっとためになる話

SQL関数 ~単一行関数とグループ関数~

みなさん、こんにちは。

どうも、さいばーきゃっとです。

 

今回から、オラクルデータベースで使用できるSQL関数について、解説していこうと思います。

 

私自身、このSQL関数の習得は大変苦労しました。

関数自体は、エクセルで使用する機会が多くあったので、苦手意識はなかったのですが、SQL関数は多くの種類が存在するので、一個一個覚えるのに苦労しました。

 

上記のような経験から、このSQL関数は、丁寧に解説していこうと思います。

 

SQL関数

オラクルデータベースには、さまざまな処理を行うため、多くのSQL関数(SQLファンクション)があらかじめ組み込まれています。

SQL関数は、大きく「単一行関数」と「グループ関数」の2種類に分類されます。

この「単一行関数」と「グループ関数」は、SQL上で異なる処理を行いますので、両者の性質の違いを、必ず理解しておきましょう。

 

単一行関数

単一行関数は、「1件の入力データごとに処理を行い、入力データごとに結果を1つ戻す関数」です。

例えば、単一行関数で3件のデータを処理すると、3つの結果が戻されます。

言葉では、イメージしずらいので、以下に図を作成しました。

 

f:id:cloudy0901:20160726070046p:plain

 

上記のように、

・)「apple」→「APPLE

・)「microsft」→「MICROSOFT

・)「google」→「GOOGLE

各データごとに、結果を戻すことができるのが、単一行関数の特徴です。

 

グループ関数

一方、グループ関数は、「複数件の入力データをグループ化して、集計処理を行った結果を1つだけ戻す関数」です。

例えば、グループ関数で複数件のデータを処理すると、結果は常に1つだけ戻されます。

こちらも、言葉では、イメージしずらいので、以下に図を作成しました。

 

f:id:cloudy0901:20160726070040p:plain

 

上記のように、

・)「apple

・)「microsoft」 → 「3件」

・)「google

複数のデータを、1つの結果(上記であれば「3件」)として、戻すことができるのが、グループ関数の特徴です。

 

単一行関数の種類

単一行関数には、結果で戻されるときのデータのデータ型や、処理内容などによって、いくつかの種類に分類されます。

以下に、単一行関数の種類をまとめました。 

単一行関数の種類

f:id:cloudy0901:20160726064304p:plain

 

単一行関数は、上記の表のように、大きく5つの種類に分類されます。

SQL関数は、数多く存在するので、まずはしっかりと種類ごとの性質を整理して、それぞれのSQL関数の使用方法を、覚えていきましょう。

 

次回以降から、さらに単一行関数について、触れていきます。