SQLの操作(ワークシート)

Accessによる
SQLの操作
~実際にテーブルを操作してみよう!~
Excelとの違いって?
・データを格納する(
それを抽出・計算する(
)、
)、
印刷のイメージを定義する(
と分離して持っている点!
Excelは全てデータ
シート上で行うね。
)
データベースを作ってみよう!
2つのテーブルをデータベースに作成し、データの
抽出をしてみよう!まずは、データベースの用意!
①Accessを起動する。
②新規作成→「空のデータベース」
をクリック。
④保存先を指定する。
⑤ファイル名を入力し、作成をクリックする。
保存先→自分のフォルダ
ファイル名→SQL実習
テーブルを2つ作ろう!
次の2つのテーブルをデータベースに作成しよう!
売上表
商品表
商品ID
商品名
PC101 パソコンA
商品ID
単価
80,000
PC101
売上 顧客名
数量
5 A社
PC102
2 B社
PR201
4 C社
PC101
3 B社
PC102
5 A社
PC101
2 A社
在庫数
10
PC102 パソコンB
120,000
20
PR201 プリンタA
30,000
30
PR202 プリンタB
50,000
20
商品表の作成
①オブジェクトの「テーブル」で「デザインビュー
でテーブルを作成する」をダブルクリックする。
②フィールド名、データ型に次のように入力する。
③主キーの設定をするため、「商品ID」の左側を
クリックし、主キーボタン
をクリックする。
④データを入力するために、「データシートビュー」
をクリックする。
⑤テーブルの保存について聞かれるので、「テーブ
ル名」に「商品表」と入力し、OKをクリックする。
⑥下のデータシートビューが出るので、「商品表」
のデータを入力する。
⑦テーブルを閉じる。
⑧同様の手順で、テーブル名「売上表」を作成す
る。※主キーは設定しない。
リレーションシップ(関連付け)
これまで作成した2つの表は、共通の「商品ID」を
もっているので、リレーションシップ(関連付け)を
設定しましょう。
リレーションシップ
①「テーブル」で「リレーションシップ」をクリック
②テーブルの表示の「商品表」「売上表」を選択し、
それぞれ追加をクリックする。
③閉じるをクリックし、ダイアログボックスを閉じる。
④「商品表」の「商品ID」をクリックし、売上表の
「商品ID」にドラッグする。
ドラッグ
注*テーブルが開いていると、リレーション
シップが作成できないので閉じておくこと。
⑤「リレーションシップ」で「参照整合性」にチェッ
クをつけ、作成をクリックする。
2つの表が正
しく関連付け
られた!
選択クエリを使ってデータを取り出そう!
①オブジェクトバーのクエリをクリックし、
「ウィザードを使用してクエリを作成する」、
「新規作成」の順にクリックする。
SQL文を入力しなくても簡単にデータが取り出せるよ!
②ウィザードが起動するので、「選択クエリウィ
ザード」をクリックして選択し、OKをクリック。
選択クエリ →
③テーブル名と、テーブルの中で表示したい項目
を選んで、右の欄に移していく。今回は全ての項
目を移そう!
←ひとつひとつ移すとき
←全ての項目を移すとき
④各レコードのすべてのフィールドを表示するに
チェックし、「次へ」をクリックする。
もうちょっとだ!
頑張ろう!
⑤クエリのデザインを編集
するを選択して、完了をク
リックする。
⑥上段には商品表の項目名(フィールド)が、下
段には条件を入れるための欄が並んでいる。
>=20
⑦在庫数の「抽出条件」の行に「>=20」とキー
ボードから入力してみる。※半角で入力すること。
ツールバーの実行アイコン
をクリックする。
在庫数が20以上のものだけが取り出されました!!
抽出条件は他にも色々あります
AND
>=10 AND <=30
OR
<=0 OR >100
NOT
NOT 50
もし、表示の欄のチェックをはずしたら・・・
チェックを外したフィールドは表示されない!
SQL文を確認してみよう!
今までの作業が、どんなSQL文で書かれてい
るか、確認してみよう!
①オブジェクトバーの「クエリ」をクリックし、
「商品表 クエリ」を選択し、デザインをクリック。
②メニューバーの「表示」の「SQLビュー」を
クリックする。
ウィザードを使
うと、SQL文
を意識せずに簡
単に作れたね!
③SQL文が表示
される。
練習問題にチャレンジ!
①商品表から商品名と在庫数を抽出する。
②商品表から「在庫数」が20の商品について、
「商品名」と「在庫数」を抽出する。
③商品表から「商品ID」がPC102の商品の項目を全
て抽出する。
④商品表から「在庫数」が20で、かつ「単価」が
80,000以上の商品の「商品ID」「単価」「在庫数」
を抽出する。
売上表からも抽出してみよう!
⑤売上表から「顧客名」がA社でないレコードの
「顧客名」と「売上数量」を抽出する。
⑥売上表から「売上数量」が3以上4以下の商品の
「商品ID」と「売上数量」を抽出する。
⑦売上表から「売上数量」が5の商品の「商品ID」
と「売上数量」を抽出する。
⑧売上表から「顧客名」がB社とC社の商品の
「商品ID」と「顧客名」を抽出する。