5. SQL SELECTFROM
WHERE
1
金子邦彦
(データベース演習)
URL: https://www.kkaneko.jp/de/de/index.html
謝辞:この資料では「いらすとや」のイラストを使用しています
テーブルによるデータ管理の理解
SQLの柔軟性の理解
SQLによるデータアクセスのスキル向上
2
SQL のプログラムは、大学のセレッソでも
公開しているので、必要に応じて活用してください。
演習1.Access SQL
ビューを用いたテーブル定
トピックス
SQLビューを開く
SQL文の編集
create table
SQL文の実行
3
演習
1. パソコンを使用する
前もって Access をインストールしておくこと
2. Access 起動する
3. Access で、「空のデータベース」を選び、「作成」を
クリック.
4
4. テーブルツール画面が表示されることを確認
5
5. 次の手順で、SQLビューを開く.
6
デザイン」タブで、「
」を展開し「SQL
ビュー」を選ぶ
作成」タブで、
クエリデザイン
をクリック
このような
表示が出た
ときは
閉じる」を
クリック
6. SQL ビューに、次の SQL を入れる
7
CREATE TABLE 記録 (
名前 TEXT,
得点 INTEGER,
居室 TEXT);
7.実行」ボタンで、SQLを実行する.
8
テーブル「記録」が増える
あとで使用するので Access を終了しないこと
間違ってしまったときは、テーブルの削除
を行ってからやり直した方が早い場合がある
9
テーブルビューで、削除した
いテーブルを右クリックして、
削除
テーブルを削除するときは、
間違って必要なテーブルを削除しない
ように、十分に注意する!
(元に戻せない)
演習2.Access のデータシー
トビューを用いたデータの
トピックス
テーブルビューで、使用したい
テーブルを選ぶ
データシートビューで、データ
の追加
保存の操作
10
Access のデータシートビューを用いたデー
タの追加
Access テーブルビューで、使用したいテーブルを選ぶ
データシートビューが開くので確認
データシートビューで、データの追加
保存の操作(自動保存されないため)
11
テーブル名:記録
名前
得点
居室
徳川家康
85
1
源義経
78
2
西郷隆盛
90
3
豊臣秀吉
82
1
織田信長
75
2
1. テーブルビューで、記録
ダブルクリック
2. データシートビューが開く
ので確認
12
3. データシートビューで,行を追加する
13
1階」、「2階」、「3階」
1 2 3 は半角
最後の 2 を入れたら、
2 のセルで Enter キー
名前
得点
居室
徳川家康
85
1
源義経
78
2
西郷隆盛
90
3
豊臣秀吉
82
1
織田信長
75
2
4. テーブルを保存する
記録」を右クリックして、右クリックメニューで「
書き保存
14
あとで使用するので Access を終了しないこと
演習3.SQL による問い合
わせ(クエリ
トピックス
1. 選択
2. DISTINCT による重複行除去
3. パターンマッチング
4. IN を用いた条件指定
15
Access とそれ以外のパターンマッチの違い
16
SQL 世界標準は: %
SELECT *
FROM 記録
WHERE 名前 LIKE '%どん%';
マイクロソフト Access だけは*
SELECT *
FROM 記録
WHERE 名前 LIKE '*どん*';
Access SQL ビューを用いた問い合わせ
Access SQLビュー開く
SQL 編集select, from, where を使用
: select * from テーブル名 where 1 = 1;
SQL 実行
実行の結果、データシートビューに画面が変わり、そこに
問い合わせの結果が表示される
さらにSQL 文の編集、実行を続ける場合には、画面を
SQL ビューに切り替える
17
18
SQL 問い合わせ(クエリ)で使用する2つのビュー
SQL ビュー
SQL 文の作成編集 データシートビュー
問い合わせ(クエリ)
結果
実行
表示 + SQL ビュー
マウス操作でビューを切り替え
1. 次の手順で、SQLビューを開く.
19
デザイン」タブで、「
」を展開し「SQL
ビュー」を選ぶ
作成」タブで、
クエリデザイン
をクリック
このような
表示が出た
ときは
閉じる」を
クリック
20
2. SQL ビューに、次の SQL を1つずつ入れ、
」ボタンで、SQLを実行.結果を確認
1
SELECT * FROM 記録;
2
SELECT 名前 FROM 記録;
3
SELECT 得点 FROM 記録;
4
SELECT 居室 FROM 記録;
5
SELECT DISTINCT 居室 FROM 記録;
6
SELECT 名前, 得点 FROM 記録 WHERE 得点 > 80;
7
SELECT 名前, 得点 FROM 記録 WHERE 得点 BETWEEN 80 AND 85;
8
SELECT AVG(得点) FROM 記録;
9
SELECT * FROM 記録 WHERE 居室 LIKE '*';
10
SELECT * FROM 記録 WHERE 居室 IN ('1', '2');
3. 結果を確認したら、SQLビューに戻り、前の
ページで次の SQL 文に進む
21
表示」を展開し「SQLビュー」を選ぶ