見出し画像

【ACCESS SQL】ACCESSとSQLの基本がここにある。それがリレーションシップ

YouTubeでも紹介しています。是非ご覧ください。

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のほうが、汎用性があると思います。

 


ここがポイント

 

ACCESSの初学者の時は、クエリは文章で記載されているということに、とても感動していました。

しかし、その感動と共に、SQL文は、複雑なので、勉強したくないとも、思いました。

私が観ていたSQLは、ACCESSが記載したコードで、人が書いたコードではありません。

ACCESSが記載したコードは、複雑になります。

マクロの記録を同じです。

その複雑なコードは、SQLの知識によって簡略化されるのです。

 

まとめ


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

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

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

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

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

サンプルファイル

私のホームページでも販売しています。このようなファイルは、全部で、300ファイル前後ありますが、総ダウンロード数は、10,000件を、超えました。10,000件超えてから、面倒なので、カウントしていないです。

勉強したい方、会社の実務で利用したい方にお勧めです。

はっきり言いますが、ネットで調べる時間を考えたら、購入したほうが、時間の節約になります。

まして、ネットのコードは、作動するとは限りません。

料金は、200円です。

よろしくお願いします。

ここから先は

58字

¥ 200

よろしければサポートをお願いします。いただいたお金に関しては、書籍の購入に充て、より良い情報を皆様に提供します。