非エンジニアでも知らないとヤバイSQL Part3 〜WHERE句で検索条件を指定〜
コラムSELECT文について
前回は、SQLにてSELECTする際、全カラム抽出、カラム指定抽出、件数指定抽出、OFFSETを使った件数指定抽出についてでした。
DBの種類(「関係型」「NoSQL」「階層型」「ネットワーク型」)、その中でも現在主流になっている「ネットワーク型」(RDBMS)について、SQLについてから気なる方は非エンジニアでも知らないとヤバイSQL Part1をご覧ください。
検索条件を指定
おなじみの社員マスターテーブル、t_employeeです。
全件のデータを取得したり、件数やカラム(列)を指定し取得する方法は前回やりましたね!では、今回は検索条件を指定してデータを抽出していきましょう。
まず、①性別が男の社員 についての検索結果はもちろん以下のようになります。
WHERE句のあとにカラム名を指定することによって、検索条件を指定することが可能となります。
性別が男 ですので sex = ‘男’となります。文字列は、シングルクォーテーションで囲いましょう!
続いて、②年齢が30才未満の社員 の検索結果は以下のようになります。
30才未満ですので、30才の社員は条件にはあてはまりません。
次に、③年齢が30才ちょうどの社員 はこのように。
これはもう簡単ですね!
続いて④年齢が30才以上の社員 の検索結果です。
30才以上ですので30才も含みます。以上の時の演算子は “>=” となります。 “>” のみですと、30才は含まれません。同じように30才以下にしたい場合演算子は “<=” となります。大なり小なりとイコールを組み合わせるだけなのでとても簡単です。
あと少しです。年齢が30才以上かつ性別が女の社員 は検索結果はこちら。
論理演算子の登場です。条件を複数指定したい場合はANDを使います。
最後は、⑥年齢が30才以上または性別が男の社員 です。
また論理演算子です。どちらかの条件をみたしていればいい時は、ORを使います。
まとめ
今回はWHERE句を用いたMySQLでの条件指定の仕方、またその際の演算子、論理演算子の基本的な使い方をみてみました。実際の業務でもこのような基本的なクエリも使いますのでいろんなパターンを検証してみるのも面白いと思います。
MySQLでは他にもさまざまな条件指定の方法や演算子の種類があります。次回はもう少し掘り下げて見てみましょう!
株式会社Knocknote代表取締役。大学卒業後不動産営業に従事した後、ITの重要性を強く感じエンジニアへ転職。ソーシャルゲーム開発、スマホアプリやPepperアプリの企画及び開発、高校でのプログラミング講師などの業務に携わる。2017年1月に創業。現在はプログラミング教育事業、システム開発事業を展開。今後は海外向けの教育事業をさらに拡大させていく事が目標。著書:『作って学べるUnity超入門』(技術評論者)