【SQLの基礎知識⑤】 SQLにおける比較演算子の基本

SQLの基礎知識
SQLの基礎知識
この記事は約6分で読めます。
Recommended Articles

SQLにおける比較演算子の基本

比較演算子は、SQLの問合せにおいて条件式を記述するときに利用するものです。問合せ条件を指定することは、SQLの記述の中で最も重要な部分で、比較の条件式を記述するときに理解しておかなくてはならないのが比較演算子です。膨大なデータの中から条件に合致するデータを絞り込む場合には、比較演算子を複数記述し、次のセクションで解説する論理演算子のAND演算子、OR演算子を組合せて使うことが重要になります。

【SQLの基礎知識⑥】 SQLにおける論理演算子の基本
SQLの問合せにおける複数の条件式の記述方法を習得できます。書式・ルールなどの解説をした上で、具体的・実践的なSQL文と実行結果を確認しながら、理解を深めることができます。いちれべ.comは、オラクル、MS-SQL、MS-Access で使用可能か一目でわかるサイトです。

比較演算子には次のようなものがあります。

比較演算子

演算子意味
左辺と右辺が同じ場合に真
左辺が右辺より大きい場合に真
>=左辺が右辺以上の場合に真
左辺が右辺より小さい場合に真
<=左辺が右辺以下の場合に真
<>、!=左辺と右辺が異なる場合に真
それぞれについて、個別に解説していきましょう。ここでは次の商品リスト表を使って解説をしていきます。
表:商品リスト
商品コード商品名単価仕入れ値個別包装費
1チョコレート15012020
2スナック菓子1008030
3ポテチ15011050
4ビスケット20015050

= 演算子

=演算子は、比較するもの同市が等しい場合に真になる比較演算子です。

=演算子は、表から条件に合致したデータを取得する際に最もよく使われます。「商品リスト」表で、「単価」列が「100」の商品を選択したいときには、次のように使います。なお、WHERE句についてはこちらで解説します。

【SQLの基礎知識⑪】 条件(WHERE句)を付けた問合せ
この章では条件を付けた問合せ(WHERE句)の基本を習得できます。論理演算子を使った複合条件での問合せについても、具体的なSQL文とその実行結果を確認できます。いちれべ.comは、オラクル、MS-SQL、MS-Access で使用可能か一目でわかるサイトです。

SQL文
SELECT * FROM 商品リスト WHERE 単価 = 100;

実行結果

商品コード商品名単価仕入れ値個別包装費
2スナック菓子1008030
これは、「単価」列に対して「100」と同じ値の行を出力するSQL文になっています。単価が100の商品は、スナック菓子しかないので、1行だけが出力されています。条件を満たす行はすべて出力されるので、例えば、「単価=150」とすれば「チョコレート」と「ポテチ」の2行が出力されることになります。

>演算子、>=演算子

>演算子は、左辺の値が右辺の値よりも大きい場合に真になる演算子です。そして>=演算子は、左辺の値が右辺の値と同じか、それよりも大きい場合に真になります。

>演算子を用いた条件式では、左辺と右辺が同じ値の場合には真になりません。

SQL文
SELECT * FROM 商品リスト WHERE 単価 > 150;

実行結果

商品コード商品名単価仕入れ値個別包装費
4ビスケット20015050
表:商品リスト
商品コード商品名単価仕入れ値個別包装費
1チョコレート15012020
2スナック菓子1008030
3ポテチ15011050
4ビスケット20015050

「商品リスト」表の、単価が150よりも高いものを選択しているので、200のビスケットだけが出力されています。

では、今度は>演算子の代わりに、>=演算子を使って同じSQL文を入力してみます。

SQL文
SELECT * FROM 商品リスト WHERE 単価 >= 150;

実行結果

商品コード商品名単価仕入れ値個別包装費
1チョコレート15012020
3ポテチ15011050
4ビスケット20015050

今度は、単価が150の商品も結果に出力されています。比較に指定する数値列と同じ値を出力する必要があるかどうかで、>演算子と>=演算子を使い分けます。

<演算子、<=演算子

<演算子は、左辺の値が右辺の値よりも小さい場合に真になる演算子です。そして、<=演算子は、左辺の値が右辺の値以下になる場合に真になる演算子です。

<演算子を用いた条件式では、左辺の値が右辺よりも小さい場合にだけ真となり、同じ場合には真になりません。<=演算子では、左辺と右辺が同じ値の場合にも真になります。真となった行は問合せ結果に出力されます。

SQL文
SELECT * FROM 商品リスト WHERE 単価 < 150;

実行結果

商品コード商品名単価仕入れ値個別包装費
2スナック菓子1008030
表:商品リスト
商品コード商品名単価仕入れ値個別包装費
1チョコレート15012020
2スナック菓子1008030
3ポテチ15011050
4ビスケット20015050
SQL文
SELECT * FROM 商品リスト WHERE 単価 <= 150;
実行結果

商品コード商品名単価仕入れ値個別包装費
1チョコレート15012020
2スナック菓子1008030
3ポテチ15011050

<演算子では、150より小さな値の行だけが出力され、<=演算子では、150も含めた行が出力されているのがわかると思います。

<>演算子、!=演算子

<>演算子は、左辺と右辺の値が異なる場合に真になる演算子です。!=演算子も同様に、左辺と右辺の値が異なる場合に真になる演算子です。

ここでも「商品リスト」の「単価」列に対して、「150」の値を指定して、<>演算子を使ってみます。

SQL文
 SELECT * FROM 商品リスト WHERE 単価 <> 150;
 SELECT * FROM 商品リスト WHERE 単価 != 150;
実行結果

商品コード商品名単価仕入れ値個別包装費
2スナック菓子1008030
4ビスケット20015050
表:商品リスト
商品コード商品名単価仕入れ値個別包装費
1チョコレート15012020
2スナック菓子1008030
3ポテチ15011050
4ビスケット20015050

「単価」列が150以外の行がすべて出力されていることがわかります。なお!=演算子も同じように利用しますが、RDBMS製品により実装されていないことがありますので、各製品のマニュアルを参照してください。

関連リンク

次の章に進む
【SQLの基礎知識⑥】 SQLにおける論理演算子の基本
SQLの問合せにおける複数の条件式の記述方法を習得できます。書式・ルールなどの解説をした上で、具体的・実践的なSQL文と実行結果を確認しながら、理解を深めることができます。いちれべ.comは、オラクル、MS-SQL、MS-Access で使用可能か一目でわかるサイトです。
目次
【SQLの基礎知識】基本ルールや基礎の基礎をマスターしよう
こちらの記事を読み進めることで、SQLの基礎が充分に身に付きます。これからSQLを身に着けたい初心者・入門者の方に最適です。データベース製品ごとに表現方法が異なることがありますので、ある程度SQLのスキルがある方も利用できるサイトです。

Recommended Articles
いちれべ.com