データベースは、VBAではなく、いかにデータを抽出するかです。

目に見えない、架空のクエリを想像できれば、さらに、データ抽出が楽になります。

スポンサーリンク

目に見えないクエリを想像することで、抽出可能なデータ

 

 

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

前回は、SQL文の基礎中の基礎を紹介しました。

 

また、前回紹介した書籍のChapter3で、LIMIT句というのが登場します。

 

結論から言いますと、ACCESSでは、LIMIT句は、利用できません。

なので、LIMIT句の代替のコードを利用します。

少し面倒な作業が増えます。

もちろん、このような複雑なことをしなくても、今回のサンプルでは、データ抽出ができます。

 

しかし、この面倒な作業を、覚えることで、複雑なデータ抽出ができるようになります。

 

VBAよりも、ずっと面白い内容です。

スポンサーリンク

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

 

今回のテーマ
  • ACCESSでクエリを勉強している人
  • クエリのスキルに限界を感じている人
  • SQLを勉強している人

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

 

このブログの結論

初めて、競馬で、データ抽出で、壁に当たった内容でした。

デザインビューを見ても到底、その時の私には、理解できない内容でした。

しかし、目に見えないクエリが、どのように作動しているのかを、このブログで理解できるようになります。

スポンサーリンク

上位2つのレコードを抽出したい

 

この、テーブルから、上位2つのレコードを抽出します。

 

つまり、伊川直助、伊川直子を、抽出します。

このような状態にします。

普通は、これで完了です。

もちろん、これでも正解ですが、架空のクエリを作成して、抽出をします。

LEFT JOIN、左外部結合を利用して、抽出します。

LEFT JOIN(左外部結合) 作業手順 その1 MT_testから、上位2つのレコードを定義する

 

 

イメージは、こんな感じです。

SELECT TOP 2 * FROM MT_test

この意味は、MT_testの、上位2つのレコードを定義する書き方です。

 

前回も言いましたが、SELECT~ FROM ~の基本系です。

まだ、ここには、記載されていませんが、目に見えないクエリは、t2が付いているクエリです。

SELECT TOP 2 * FROM MT_test

この文章から、下記のクエリを想像するのです。

LEFT JOIN(左外部結合) 作業手順 その2 MT_testと、t2を結合する

 

LEFT JOIN (SELECT TOP 2 * FROM MT_test) AS t2

ON MT_test .ID = t2.ID

 

このSQL文の意味は、

左外部結合しなさい。

MT_testのIDと、SELECT TOP 2 * FROM MT_test(目に見えないクエリ)のID

という意味です。

 

 

LEFT JOIN(左外部結合) 作業手順 その3 MT_testと、t2の外部結合の結果

この赤いところが、左外部結合されています。

t2に関しては、MT_testの、上位2つのレコードしか定義していないので、3~5は、Nullになります。

 

LEFT JOIN(左外部結合) 作業手順 その4 WHEREで、空白以外を抽出

 

WHERE t2.ID IS NOT NULL;

 

これも前回紹介した、SQL文の基本中の基本です。

 

 

このように抽出することができます。

 

 

LEFT JOIN(左外部結合) 作業手順 その5 所管

 

 

これは、私が、毎週、かかわっている競馬のデータです。

 

抽出条件

数値、1位、2位の馬が、1枠であること

かつ、同一グループ(同一レース)であること

この条件で、抽出するには、

今回、紹介した、架空のクエリを作成します。

競馬も、悪い事ばかりではありません。

 

ここがポイント

 

ここがポイント
Function8.png
前回と、今回の、動画、ブログを読んで、面白いと思った人は、
本気で、SQLの勉強をした方がいいです。
VBAより、多分、お金になります。
間違いないです。
ということで、少し難しめのクエリの書籍も購入しました。
SQLは、本当に面白いです。
動画とブログでわかりやすくExcelとACCESSを紹介しています

まとめ

 

架空のクエリを作成できるようになり、また、データ抽出の幅が広がりました。

ぜひとも、架空のクエリを作成できることに感動してください。

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

 

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

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

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

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

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

スポンサーリンク

Twitterでフォローしよう

おすすめの記事