瑞希SQL初心者がすぐに使える!SQLテクニック9選!!TwitterFacebookはてブLINEPocketみずき現役プログラマーのみずきです。プログラマーとして日々精進する生活を送っています。・SQL初心者を卒業したい!・SQLの実用的なテクニックって何?このような疑問を解決できる記事を用意しました。この記事を読む事であなたのSQLテクニック(知識)が数段レベルアップする事をお約束します。現役バリバリで、MySQLやOracleDBからSQLを使用してデータの抽出を行っているからです。まとめSELECT句で使えるテクニック抽出したいデータのカラム名などを書く事ができるSELECT句のテクニックから紹介していきます。以外にもSELECT句にも便利なテクニックがあるので、どんどん活用していきましょう。それでは確認していきましょう。AS(カラム名に別名を付ける)SELECT文でデータ抽出を行う時に、カラム名に対して別名を付ける事ができます。使用する場面は下記ですので、しっかり覚えておきましょう。・元のカラム名では何のデータを意味するか分からない場合SELECT文でのASの書き方は、下記になります。TEST_SUCHIの部分が別名部分になります。COUNT(抽出したレコード数をカウント)見出し通りのですが、SQL文の条件で抽出したレコード数を取得する事ができます。使用する場面は下記の時が多いです。・ほか言語(VBなど)で抽出したカウント数を使用して、ループ文を使いたい時カウントで件数を取得する場合は、2パターンありますので、覚えておきましょう。TEST_DB;補足ですが、「列指定あり」の件数取得のほうがパフォーマンスは良いです。「列指定あり」は全列の件数を取得しているわけではないので。FROM句で使えるテクニックFROM句では主に、テーブルに関わりのあるテクニックが多いです。テーブル結合をする頻度はかなり多いので、必須テクニックになります。覚えましょう!AS(カラム名に別名を付ける)(FROM句ver)先ほどSELECT句で紹介したものとほぼ同じになりますが、使い勝手が少し違いますのでご紹介します。このテクニックを使用する場面は、下記の時が多いです。書き方もSELECT文と類似していますが、FROM句の場合は「AS」と書かないのが一般的です。TDB;上記の場合、TDBが別名になります。JOIN(テーブル結合)2つ以上のテーブルを使用する時には、結構な割合で使用します。私の職場では頻繁に使用していますので、必須と言えるでしょう。下記が使用する時の状況です。文法は少し長いですが、すぐに覚えられる物ですので覚えてしまいましょう。TDB2.VAL;上記の条件だと、「TDB1とTDB2でお互いのテーブルで一致するVAL(列名)の値を取得する事ができます。JOINというテーブル結合も存在します。これは少しややこしいので、注意してください。・お互いのテーブルに同一の列名(カラム名)が存在し、右側に記載したテーブルに値が存在した時に値を取得する事ができる使用方法はややこしいですが、文法はどちらも類似しているので簡単です。TDB2.VAL;仮想テーブル「仮想テーブル??」となる方もいると思います。仮想テーブルとは簡単に言ってしまうと、SQL文で抽出した値のみで作成されたテーブルを作成するという事です。文法も難しくありませんので、大丈夫です。)WKWHERE句で使えるテクニックWHERE句は、SQLを使いこなせるかどうかが決まると言ってもいいテクニックですので、必ずマスターしましょう。(NOT)IN句(対象の値の有無)「(NOT)IN」を知らないとループ処理で値が含まれているかどうか、複数個もSQLを作って確認する事になってしまいます。「(NOT)IN」を知っておけば、1つのSQLで確認する事が可能です。CASE式(値の真偽判定)この式は条件分岐を行いたい時に使用します。汎用的な文法なので、使い勝手も良いです。