見出し画像

SQLのJOINを使えるようになった

最近になってようやく、SQLのJOINを書けるようになりました。以前から、少しは使っていたのですが、実務ではJOINよりも再起問い合わせで必要な項目だけを取り出すケースの方が多かったので、再起問い合わせばかり使っていました。DBへの負荷という点でもJOINよりは再起問い合わせの方が負荷が小さいように思えます。少なくともレスポンスは早いです。

テーブルのJOINを使うケースを考えてみると、人から頼まれた時に使うことが多いかなと思います。それは、自分でクエリを書かずに人にデータ取得を依頼する人は、そもそもデータ構造をわかっておらず、テーブルの属性やマスタをいろいろと付けてあげないとデータを読めないからです。これはDBに負荷がかかる、取り出すデータ量も多くなる、わざわざエクセルのダウンロード、送付など手間がかかる、など非常に生産性が低い状況と言えます。

それでも、ひと昔前の自分はSQLを知らずに、人にデータをとってもらっている状態でした。何かのきっかけでSQLを覚えたのですが、こんな便利なのかと思いました。

さて、テーブルのJOINですが、最初の壁は、テーブルの別名をTable1 as t1, Table2 as t2などと書いて、JOINするときにON t1.column1 = t2.column3のように別名をSQLに使うところです。これを以前は理解できていなくて別名を使わずに全部、テーブル名(ここではTable1、Table2)を書いていました。しかし、上級者のSQLをみると必ず別名の定義を使っています。中間テーブルを使ってデータを抽出するときなどは必須のようです。

とは言え、自分でデータを確認するときは、相変わらず再起問い合わせで必要な項目だけを確認するという日々です。

いいなと思ったら応援しよう!