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