【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円です。
よろしくお願いします。
ここから先は
¥ 200
Amazonギフトカード5,000円分が当たる
よろしければサポートをお願いします。いただいたお金に関しては、書籍の購入に充て、より良い情報を皆様に提供します。