見出し画像

【ACCESS SQL】SQL文で、カンタンな計算をしてみよう

YouTubeでも紹介しています。是非ご覧ください。

SQLでは、もちろん、計算もすることもできます。

ExcelのようなSUM関数、AVEREGE関数も用意されています。

今回は、計算結果を条件として、データを抽出してみましょう。

SQL文で、カンタンな計算をしてみよう


こんにちは。伊川(@naonaoke)です。

 

2回の渡り、SQL文の紹介をしてきました。

今回は、SQLでカンタンな計算をしながら、データを抽出してみます。

 

利用する関数は、カンタンな関数です。

Excelでお馴染みの関数です。

 

しかし、Excelと利用方法は少し違います。

まら、SQLでは利用できても、ACCESSで利用できない関数もあります。

 

Excelでも、ACCESSでも、SQLでも利用できる関数を紹介します。

 

 

 

 

このブログはこんな人にお勧め


クエリの利用方法を勉強している人

SQL文を勉強している人

高度なクエリを書いてみたい人

 


このブログを、読み終わるころには・・・・


計算のコードは、Excelの関数と変わりません。

少し、書き方が変わります。

また、SQLでは利用できるが、ACCESSで利用できない関数もありますので、その際は、別の関数を利用するしかないです。


SQLで、計算結果に基づいて、データ抽出する

今回、利用する関数は、上記の関数です。

 

 

 

SQLで、計算結果に基づいて、データ抽出する 作業手順 その1 カンタンな計算


salary列の合計値と平均値を求めよ


SELECT SUM(salary), AVG(salary) FROM MT_Empoyee;

 

このように記載します。

フィールドの名前が変ですね。
Expr1001は、フィールドに名前が、設定されていない場合や、同じ名前のフィールドをクエリで選択したときに、
ACCESSの判断で、名前がExpr1001と名前が尽きます。
 
デザインビューで確認します。
 

 
SELECT Sum(salary) AS 合計, Avg(salary) AS 平均
FROM MT_Empoyee;
 
このように記載します。

salary列の最大値と最小値を求めよ


SELECT MAX(salary) AS 最大, MIN(salary) AS 最小

FROM MT_Empoyee;

salary列がNULLであるデータを除いたレコード件数を求めよ
 
SELECT COUNT(salary) AS NULL含まない
FROM MT_Empoyee;

列がNULLであるデータを含めたレコード件数を求めよ
 
SELECT Count(*) AS NULLを含む
FROM MT_Empoyee;

Excelよりも面倒ですが、難しくないですね。

 

伊川の小話


この集計関数に関しては、数字のみの計算です。

例えば、誕生日の平均を取得しても意味がありません。

だから、誕生日、つまり、時刻/日時型には、別の関数が用意されています。

 

また、今回、四捨五入も紹介しようと思ったのですが、ROUND関数は、ACCESSでは少し違います。

Excelと、SQLでは、同じなのですが、四捨五入は、機会があればどこかで紹介します。

 

SQLで、計算結果に基づいて、データ抽出する 作業手順 その2 給料が平均以上の社員を抽出

別に、おかしいところはありません。
しかし、エラーになります。

SQLで、計算結果に基づいて、データ抽出する 作業手順 その3 サブクエリを使う


エラーの原因は、下記の通りです。

 

なので、WHERE句の中に、給料の平均以上の条件を書かなければなりません。
ちなみに、salaryの平均は、下記のように書きます。

この条件を下記のようにします。

つまり、給料の平均を、WHERE句の中に仕込みます。
メインとなるクエリの中に、再度、クエリを入れるから、サブクエリなんですね。
これを、デザインビューで確認します。

抽出条件の中に、クエリを記載します。

 

ここがポイント


サブクエリは、さすがに、SQL文を書かないと実行できません。

もっとも、この程度のクエリなら、デザインビューから作成できます。

しかし、キャバクラの本指名の数を、数えて、売上を決めるなんて言うのは、

サブクエリを、直書きしないとできないですね。

まとめ


今回は、カンタンな計算と、サブクエリについて紹介しました。

最近は、めっきり、SQLにハマっています。

これを極めれば、VBAよりお金になります。

今回も最後まで読んでいただきありがとうございました。

サンプルファイル

私のホームページでも販売しています。このようなファイルは、全部で、300ファイル前後ありますが、総ダウンロード数は、10,000件を、超えました。10,000件超えてから、面倒なので、カウントしていないです。

勉強したい方、会社の実務で利用したい方にお勧めです。

はっきり言いますが、ネットで調べる時間を考えたら、購入したほうが、時間の節約になります。

まして、ネットのコードは、作動するとは限りません。

料金は、200円です。

よろしくお願いします。

ここから先は

60字

¥ 200

よろしければサポートをお願いします。いただいたお金に関しては、書籍の購入に充て、より良い情報を皆様に提供します。