ACCESSの醍醐味は、リレーショナルデータベースを作成できることです。

リレーショナルデータベースって・・・・・・

カンタンに言えば、テーブルをつなげることです。

 

スポンサーリンク

ACCESSとSQLの基本がここにある

 

こんにちは。伊川(@naonaoke)です。

前回は、SQL文を利用した、カンタンな計算と、サブクエリを紹介しました。

 

サブクエリを使えるようになると、ACCESSは、もっと便利になります。

 

さらに今回は、SQL文を利用して、テーブルをつなげます。

カンタンに言えば、リレーションを組みます。

 

これは、サブクエリ以上に便利です。

 

スポンサーリンク

このブログはこんな人にお勧め

 

今回のテーマ
  • ACCESSで、クエリを勉強している人
  • ACCESSで、少し、高度なクエリを書きたい人
  • データベースに興味がある人

このブログを、読み終わるころには・・・・

 

このブログの結論

ACCESSには、クエリを作成するために、デザインビューという機能があります。

しかし、デザインビューは、初心者のために、利用しやすい環境を、ACCESSが作ったのです。

データベースを操作するには、データベースを操作するよりSQL文です。

 

スポンサーリンク

テーブルをつなげるJOINとWHERE

 

テーブルをつなげることが、ACCESSの醍醐味です。

今は、Excelにも、PowerQueryがあり、テーブルをつなげることができます。

しかし、Excelは、どこまでいってもExcelです。

つまり、デザインビューの機能を超えることはできません。

ACCESSでは、JOINと、WHEREで繋げることができますが、WHEREで繋げるのは、古い書き方なので、新しいJOINで繋げるようにしましょう

テーブルをつなげるJOINとWHERE 作業手順 その1 WHEREで繋げる

 

それぞれのdep_idで結合してMT_Empoyee表のname列とMT_Department表のname列を表示させる

SELECT FROM WHEREの基本を知っていれば、日本語に直訳できると思います。

また、

1番目は、FROM

2番目は、WHERE

3番目は、SELECT

 

この順番に読んでいきます。

テーブルをつなげるJOINとWHERE 作業手順 その2 floorを昇順する

 

赤枠の中が、floorを、昇順で並べるSQL文です。

テーブルをつなげるJOINとWHERE 作業手順 その3 上記を、JIONで記載する

結果は同じです。

書き方に流行があるのか、わかりませんが、JOINのほうが、可読性があると思います。

 

テーブルをつなげるJOINとWHERE  その4 左外部結合と、右外部結合

 

これは、左外部結合です。

 

 

山田太朗は、dep_idは、NULLなので、INNER JOINでは、抽出されません。

しかし、左外部結合することで、抽出することができます。

テーブルをつなげるJOINとWHERE 作業手順 その5 実務で利用する

 

実務で、素直に、デザインビューで結合できればなと思ったことはありませんか?

競馬になりますが、こんな場合です。

MT_testbに、このようなデータがあります。

主キーは、16桁のレースIDです。

一方で、MT_testaには、このようなデータがあります。

主キーは、18桁のレースID馬です。

レースID馬は、レースID+ゼッケン番号です。

2つのテーブルには、等しいIDはありません。

しかし、等しい値を含んだものはあります。

なので、下記のようなSQL文を書きます。

デザインビューで確認するとこんな感じです。

INNTRJOINで書いてみます。

 

同じ結果になりました。

WHEREと、INNTRJOINで異なるのは、INNTRJOINでは、デザインビューで、確認することができません。

デザインビューを開こうとすると、下記のエラーが出ます。

INNTRJOINは、不便と思っていました。

しかし、違います。

不便と思っていたのは、SQLの知識がないからです。

SQLの知識があれば、INNTRJOINのほうが、汎用性があると思います。

ここがポイント

 

ここがポイント
Function8.png
ACCESSの初学者の時は、クエリは文章で記載されているということに、とても感動していました。
しかし、その感動と共に、SQL文は、複雑なので、勉強したくないとも、思いました。
私が観ていたSQLは、ACCESSが記載したコードで、人が書いたコードではありません。
ACCESSが記載したコードは、複雑になります。
マクロの記録を同じです。
その複雑なコードは、SQLの知識によって簡略化されるのです。
動画とブログでわかりやすくExcelとACCESSを紹介しています

まとめ

 

SQL文は、勉強するたびに、本当に面白くなってきました。

なので、別途、書籍を2冊購入しました。

サブクエリなのに、サブクエリを利用しなくても実現できる方法などなど・・・

得た情報は、随時公開していきます。

今回も最後まで読んでいただきありがとうございました。

今回のサンプルファイルは、No299です。

毎日の業務が、3時間短縮できます

わからない事を延々と考えるのは、無駄です。

  • なんで作動かないの?
  • もうやだ!VBAなんか嫌い!
  • ネットで調べても情報がない!

必ず作動するコードが、ここにあります。

スポンサーリンク

Twitterでフォローしよう

おすすめの記事