ywork2020.com

Title

レコード抽出条件を指定する

目次 (INDEX)

比較演算子とは

比較演算子とは、二つの式や値の比較を行うためのものです。

SQL では主に WHERE 句で比較演算子を用いてレコードの抽出条件を指定します。

条件式を評価した結果は、TRUE (真) か、FALSE (偽) という値となり返ります。 WHERE 句では、指定した条件式を評価した結果が、FALSE のデータは除外され、TRUE のデータだけが取り出されます。

SQL で使われる比較演算子を以下の表でまとめておきます。
比較演算子の記号は他のプログラミング言語も、ほぼ同じ仕様ですので混乱することはないと思います。

SQL で使われる比較演算子使い方意味
= a = b a と b は等しいか?
< a < b a は b より小さいか?
<= a <= b a は b 以下か?
> a > b a は b より大きいか?
>= a >= b a は b 以上か?
<>
!=
a <> b
a != b
a と b は等しくないか?

目次に戻る

サンプルデータベースとテーブルの構造

データ抽出用のサンプルテーブルが必要でしたので事前に作成しています。

現在、データベースにはサンプルとして以下に示す構造の test テーブルを作成しており、 そのテーブルに 6人のペーパーテストの成績を登録した状態になっています。

サンプルコード: テーブルの作成

サンプルテーブルを以下のクエリで作成しました。

CREATE TABLE test(
	id int(11),
	氏名 varchar(20),
	国語 int(11),
	算数 int(11),
	理科 int(11),
	社会 int(11),
	英語 int(11)
);
id氏名国語算数理科社会英語
データデータデータデータデータデータデータ
データデータデータデータデータデータデータ

目次に戻る

サンプルコードと実行結果

ここからは実際に稼働しているデータベースに接続してクエリを実行していきます。 下記に配置された各ボタンをクリックすると、ボタンに書かれているサンプルクエリを実行して結果を表示します。

サンプルコード: SQL (SELECT 文の基本的な使い方)

SELECT * FROM テーブル名;

これはテーブルデータを抽出するための基本構文です。
指定したテーブルのデータを全件、全フィールドで抽出します。 この単純なクエリはデータ量が少ない場合や開発段階では利用することが多いと思いますが、実際の運用では使いません。

実行:

サンプルコード: SQL (比較演算子の使い方)

SELECT * FROM テーブル名 WHERE 条件式;
実行:

説明:
上記の実行サンプルでは 算数 カラムの値が 70 以上のレコードを抽出しています。

以下、論理演算子も含めた比較演算子の使用例です。

実行:

説明:
上記の実行サンプルでは算数の値が 70 以上、かつ理科の値が 50 以上のレコードを抽出しています。

実行:

説明:
上記の実行サンプルでは国語の値が 90 以上か、もしくは算数の値が 90 以上のレコードを抽出しています。

目次に戻る

SQL の仕様上の注意点

※ SQL の予約句はアルファベットの大文字と小文字を区別しませんが、 任意で作成したデータベースやテーブル、カラムの名前などは区別されるので注意が必要です。

目次に戻る