当ホームページのアクセス数No.1の『SQL講座』です。 マイクロソフトのAccessというデータベースソフトを利用して、10回の講義形式で、SQLを学んでいきます。
初級シスアドから目指すSQLというコンセプトのもと、なるべく分かりやすく、かつ、注意すべき点などを随所に盛り込みながら、解説していきます。
SQL講座のTopへ戻る
この章では、 集合関数についてみていきましょう。 難しいそうな感じがしますが、表のある列で一番大きい値(または小さい値)を求めるとか平均値や合計を 求めるといった処理をする関数です。 ■ COUNT 関数
SELECT COUNT ( <列名リスト> ) FROM <テーブル名リスト> テーブル名リストから選択された行の数をカウントする。
SELECT COUNT ( * ) FROM 社員 ;
< 実行結果ch04-1 >
SELECT COUNT ( 住所2 ) FROM 仕入先 ;
< 実行結果ch04-2 >
SELECT COUNT ( * ) AS 社員数 FROM 社員 ;
< 実行結果ch04-3 >
<注意> JIS規格 SQL では、COUNT ( DISTINCT 部署 )のように、DISTINCT を付けた列名リストを指定すると、 部署のうち重複を除いた名称の件数が返ります。 しかし、MS-Access ではこの表現は使用できません。 ■ MAX 関数
SELECT MAX ( <列名リスト> ) FROM <テーブル名リスト> テーブル名リストから選択された列名リストの最大値を求めます。
SELECT MAX ( 単価 ) FROM 受注明細 ;
< 実行結果ch04-4 >
■ MIN 関数
SELECT MIN ( <列名リスト> ) FROM <テーブル名リスト> テーブル名リストから選択された列名リストの最小値を求めます。
SELECT MIN ( 単価 ) FROM 受注明細 ;
< 実行結果ch04-5 >
■ AVG 関数
SELECT AVG ( <列名リスト> ) FROM <テーブル名リスト> テーブル名リストから選択された列名リストの平均値を求めます。
SELECT AVG ( 単価 ) FROM 商品 ;
< 実行結果ch04-6 >
■ SUM 関数
SELECT SUM ( <列名リスト> ) FROM <テーブル名リスト> テーブル名リストから選択された列名リストの合計を求めます。
SELECT SUM ( 在庫 ) FROM 商品 ;
< 実行結果ch04-7 >
■ WHERE 句をつけて
SELECT MAX ( 単価 ) FROM 受注明細 WHERE 数量 = 50 ;
< 実行結果ch04-8 >