とあるITエンジニアたちの備忘録

新米エンジニア5人がお送りする、ちょっとためになる話

WHERE句の条件式 ~比較演算子~

みなさん、こんにちは。

どうも、さいばーきゃっとです。

 

今回は、以前に解説した「SELECT文の使い方 ~WHERE句~」の続きになります。

itsoldier0901.hatenablog.com

 

上記の記事では、「WHERE句」による行の制限について、説明しました。

そこで、今回は、「WHERE句」の条件式で使用できる演算子について、説明したいと思います。 

 

まずは以下の表をご覧ください。

f:id:cloudy0901:20160621002305p:plain

 

この「成績表」から、点数が90点以上の行を選択するには、どのようなSELECT文を実行すればいいでしょうか

 

ここでポイントとなるのが、「条件」は何かです。

 

今回の条件は「点数が90点以上」ですよね。

条件が点数が90点以上」の場合、比較演算子の「>=」を使用します。

 

比較演算子の「>=」を使用したSELECT文は、以下になります。

f:id:cloudy0901:20160621003701p:plain

 

このSELECT文での実行結果が、以下の表になります。

f:id:cloudy0901:20160621003850p:plain

 

これが、比較演算子の使用方法です。

 

比較演算子

ほかにも、条件式で使用できる演算子が多くあります。

以下にまとめてみました。

f:id:cloudy0901:20160701001815p:plain

 

比較演算子は、様々な行の制限に対応できるので、演算子の種類は必ず覚えるようにしましょう。

 

特にSQL特有の演算子である、「BETWEEN...AND...」、「IN(値リスト)」、「LIKE」、「IS NULL」のについての使用方法は覚えておくと、非常に便利です。

 

今回は、「BETWEEN...AND...」、「IN(値リスト)」の使用方法について、説明していきます。

 

BETWEEN...AND...

唐突ですが、以下の「成績表」から、点数が80~90の範囲に該当する行を選択するには、どのようなSELECT文を実行すればよいでしょうか?

f:id:cloudy0901:20160621010435p:plain

 

上記のような、値の下限と上限を指定して、その範囲に含まれる行を選択するときは、「BETWEEN...AND...」の演算子を使用します。

 

この条件に合うSELECT文は、以下になります。

f:id:cloudy0901:20160621010415p:plain

 

以下が実行結果になります。

f:id:cloudy0901:20160621010504p:plain

 

IN(値リスト)

唐突ですが、以下の「成績表」から、点数が70、80、96のいずれかに等しい行を選択するに、どのようなSELECT文を実行すればよいでしょうか?

f:id:cloudy0901:20160621010845p:plain

 

上記のような、値のいずれか等しい行を選択するときは、「IN(値リスト)」演算子を使用します。

 

この条件に合うSELECT文は、以下になります。

f:id:cloudy0901:20160621011152p:plain

 

以下が実行結果になります。

f:id:cloudy0901:20160621011213p:plain

 

  • この「IN(値リスト)」演算子の特徴として、値と値の間を「,」(カンマ)で区切る必要があります。

 

いかがでしたでしょうか?

条件式と聞いて、難しく感じる方は多いと思います。

まずは、基礎的な比較演算子をマスターし、「WHERE句」を自由自在にあつかえるようにしましょう。