見出し画像

【SQL】where句の使い方を例文を用いて解説(練習問題あり)

WHERE句 データ抽出の際、絞り込み条件を指定できます。複数の条件を指定したい時はAND句を使います。OR句を用いるとどちらか一方の条件に当てはまるデータが抽出されます。 !=を用いると否定条件として使えます。
そんなwhere句を初心者でも理解しやすいよう、例題を用いて、徹底解説していきます。

where句の基本構文

where句は以下の構文を使うことで条件指定できる。

SELECT
 カラム
FROM
 テーブル
WHERE
 カラム 条件

where句では、条件の前に、カラムを指定する必要があるのだ。

上の図で、「30歳以上の生徒」を条件指定する場合は、

WHERE
 年齢 >= 30

とクエリーを書くことで、該当の生徒データを抽出することができる。

また、and句 や or句 を用いることで複数条件を指定することもできる
例えば、「30歳以上、または部活動がサッカー部」の条件に当てはまるデータを取り出す場合、以下のクエリーを書く必要がある。

WHERE
 年齢 >= 30
or
 部活動 = 'サッカー部'

where句の練習問題

練習問題を通じて、実践的にwhere句の用法を理解していく。

練習問題1 : 「1年1組基本情報テーブルから、『22歳以上でかつ、部活動が野球部』のid・名前・年齢を抽出しなさい」

まずは、and条件を用いた分析だ。
回答は以下である。

SELECT
 id,
 名前,
 年齢
FROM
 1年1組基本情報
WHERE
 年齢 >= 22
and
 部活動 = '野球部'

結果は以下のように抽出される。

練習問題2 :  「1年1組基本情報テーブルから、『佐藤さん以外』のid・名前・年齢・部活動を抽出しなさい」

次は、否定条件である、「!=」を用いた分析だ。

SELECT
 *
FROM
 1年1組基本情報
WHERE
 名前  ! =  '佐藤'

*を用いることで、全カラム全データを抽出することができる。

結果は以下のように抽出される。

WHERE句でよくあるエラーと解消法

WHERE句でよく起こるエラーと、その解消法を解説していく。

カラムを指定し忘れるケース

and条件やor条件を使用する際、カラムを書き忘れるケースが多くある。
例えば、「20歳から30歳」の生徒を抜き出す場合に

where
 年齢 >= 20
and
 <= 30

と書くとエラーが起こる。
条件の前に該当するカラム(今回だと、「年齢」)を指定することでエラーが解消されるだろう。


クオテーション「'」を忘れるケース

データの性質上、条件の文字列をシングルクオテーション「'」で括らなければならない場合がある。
数字は必要ないケースが多い一方、日付や文字列は

'佐藤'
'2022-01-01'

のように括るケースが多い。

最後に自己紹介

はじめまして、ニューズピックス(https://newspicks.com/)でマーケターをしている平野佑樹です。
普段は、JobPicksというジョブ型キャリアを支援するWebサービス(https://job.newspicks.com/)を運営しており、

  • SQLやGoogle Analyticsを用いた分析

  • TwitterをはじめとしたSNS運用(ショート動画にも挑戦予定)

  • メールマガジン運用

  • Google Optimizeなどを用いたA/Bテスト

  • Search Consoleを用いてコンテンツSEOや開発に関わるSEO施策

など、幅広く業務を担当しています。
マーケターの業務を後押しするtipsをnoteにて発信しております。
(ぜひ、いいねや拡散お願いいたします🙇)

ぜひ、フォローや興味持っていただいた方は、(https://twitter.com/enterrocken)にDMいただけますと幸いです!

この記事が気に入ったらサポートをしてみませんか?