ブラウザだけでMySQLを即学習【サザエさんの例 その4】|合計と平均|最大値と最小値|COUNT

この記事では、ブラウザだけでMySQLを即学習【サザエさんの例 その1】のと【その2】【その3】の続きですので、まずはそちらをご覧くださいませ。

使用ブラウザはmyCompilerのMySQLを使っています。

テーブルのイメージです。

現在、ブラウザのMySQLの左側の画面はこの様なコードが入っています。

-- create a table
CREATE TABLE sazaefamily (
  id INTEGER PRIMARY KEY,
  name TEXT NOT NULL,
  gender TEXT NOT NULL,
  age INTEGER NOT NULL
);
-- insert some values
INSERT INTO sazaefamily VALUES (1, '磯野波平', '男性',54);
INSERT INTO sazaefamily VALUES (2, 'フグ田サザエ', '女性',24);
INSERT INTO sazaefamily VALUES (3, '磯野カツオ', '男性',11);
INSERT INTO sazaefamily VALUES (4, '磯野ワカメ', '女性',9);
INSERT INTO sazaefamily VALUES (5, '穴子さん', '男性',27);
-- fetch some values
SELECT * FROM sazaefamily WHERE gender = '女性';
SELECT * FROM sazaefamily;
SELECT * FROM sazaefamily WHERE age>=25;
SELECT name FROM sazaefamily WHERE id=4;
SELECT name FROM sazaefamily WHERE name LIKE '%野%';
SELECT name,age FROM sazaefamily WHERE age<15;
SELECT name,age FROM sazaefamily ORDER BY age DESC;


今日は、サザエさんのキャラクターの年齢の、平均や最大値、件数のカウントなどを求めて行きます。

まず、年齢の合計と平均を求めて見ます。

SELECT SUM(age),AVG(age) FROM sazaefamily;

実行結果です。

次に年齢の最大値と最小値を求めます。
年齢順に並べた表のイメージです。

SELECT MAX(age),MIN(age) FROM sazaefamily;

実行結果です。

この表の件数を求めます。

SELECT COUNT(*) FROM sazaefamily;

実行結果です。

最後に、年齢が平均以上のキャラクターの名前と年齢を求めます。

SELECT name,age FROM sazaefamily WHERE age >= (SELECT AVG(age) FROM sazaefamily);

実行結果です。

ここまでのコードのまとめです。

-- create a table
CREATE TABLE sazaefamily (
  id INTEGER PRIMARY KEY,
  name TEXT NOT NULL,
  gender TEXT NOT NULL,
  age INTEGER NOT NULL
);
-- insert some values
INSERT INTO sazaefamily VALUES (1, '磯野波平', '男性',54);
INSERT INTO sazaefamily VALUES (2, 'フグ田サザエ', '女性',24);
INSERT INTO sazaefamily VALUES (3, '磯野カツオ', '男性',11);
INSERT INTO sazaefamily VALUES (4, '磯野ワカメ', '女性',9);
INSERT INTO sazaefamily VALUES (5, '穴子さん', '男性',27);
-- fetch some values
SELECT * FROM sazaefamily WHERE gender = '女性';
SELECT * FROM sazaefamily;
SELECT * FROM sazaefamily WHERE age>=25;
SELECT name FROM sazaefamily WHERE id=4;
SELECT name FROM sazaefamily WHERE name LIKE '%野%';
SELECT name,age FROM sazaefamily WHERE age<15;
SELECT name,age FROM sazaefamily ORDER BY age DESC;
SELECT SUM(age),AVG(age) FROM sazaefamily;
SELECT MAX(age),MIN(age) FROM sazaefamily;
SELECT COUNT(*) FROM sazaefamily;
SELECT name,age FROM sazaefamily WHERE age >= (SELECT AVG(age) FROM sazaefamily);


お疲れ様でした。ブレイクタイムPhotoは、

隅田公園の梅の花です。

【オススメ入門書】
「いちばんやさしい SQL入門教室」
ソフトカバー
Kindle版

MySQL自作サンプル集へ戻る

自己紹介ページ


写真クリエイターとしての活動

モバイルバージョンを終了