論理演算子 とは
論理演算子とは、複数の条件式を組み合わせて、より複雑な条件式を作るための演算子です。
SQL では、SELECT 文を使ってデータベースにデータの問い合わせをするのですが、 その SELECT 文 に続き WHERE 句を使うことで、問い合わせ結果の条件を指定することができます。
問い合わせの条件には単純なものから、複雑なものまでありますが、この論理演算子を使うと、 複数の条件を組み合わせて複雑な条件を指定することができます。
データベースが条件付きの問い合わせに対してどの様にデータを返してくるかを、このページのサンプルとサンプルコードで確認してみて下さい。
演算子 | 働き | 使い方 | 意味 |
---|---|---|---|
AND | かつ | 条件式1 AND 条件式2 | 条件式1かつ条件式2を満たしている |
OR | または | 条件式1 OR 条件式2 | 条件式1、または条件式2を満たしている |
NOT | ~ではない | NOT 条件式 | 条件式の通りではない |
サンプル テーブルの構造
データ抽出用のサンプルテーブルが必要でしたので事前に作成しています。
ここではテーブル作成までのクエリを簡易的に書いておきます。
現在、データベースにはサンプルとして以下に示す構造の japan テーブルを作成しており、 そのテーブルに 47都道府県のデータを登録した状態になっています。
サンプルコード: テーブルの作成
サンプルテーブルを以下のクエリで作成しました。
CREATE TABLE japan(
県番号 int(11),
都道府県 varchar(10),
県庁所在地 varchar(10),
地方 varchar(10)
);
カラム1 (県番号) | カラム2 (都道府県) | カラム3 (県庁所在地) | カラム4 (地方) |
---|---|---|---|
データ | データ | データ | データ |
データ | データ | データ | データ |
サンプルコードと実行結果
ここからは実際に稼働しているデータベースに接続してクエリを実行していきます。 下記に配置された各ボタンをクリックすると、ボタンに書かれているサンプルクエリを実行して結果を表示します。
サンプルコード: SQL (SELECT 文の基本的な使い方)
SELECT * FROM テーブル名;
これはテーブルデータを抽出するための基本構文です。
指定したテーブルのデータを全件、全フィールドで抽出します。
この単純なクエリはデータ量が少ない場合や開発段階では利用することが多いと思いますが、実際の運用では使いません。
サンプルコード: SQL (1つの条件で一致したレコードを抽出する)
SELECT * FROM テーブル名 WHERE カラム名 = '条件';
説明:
任意のカラムで条件に該当したレコードだけを抽出します。
抽出条件を指定するには WHERE 句を使います。
この場合 地方カラム が '関東' のレコードのみの抽出となります。
サンプルコード: SQL (2つの条件を両方とも満たしているレコードを抽出する)
SELECT * FROM テーブル名 WHERE カラム名 = '条件' AND カラム名 = '条件';
説明:
2つの条件を提示して、両方の条件を満たしているレコードを抽出します。
多重条件を指定するには AND を使用します。
WHERE 地方 = '関東' AND 県番号 >= 10 の部分で 2つの条件を提示しています。
サンプルコード: SQL (2つの条件のどちらかを満たしているレコードを抽出する)
SELECT * FROM テーブル名 WHERE カラム名 = '条件' OR カラム名 = '条件';
説明:
2つの条件を提示して、どちらかの条件を満たしているレコードを抽出します。
複数の条件を指定するには OR を使用します。
WHERE 県番号 >= 40 OR 地方 = '中部' の部分で 2つの条件を提示しています。