Developer

【SQL基礎】論理演算子による条件指定
2020.11.30
Lv1

【SQL基礎】論理演算子による条件指定

論理演算子による条件指定


演算子は主に3種類あり、比較演算子について前回の記事で紹介しましたが、

本記事では論理演算子をご紹介します。

論理演算子とは値と値を比較して、真か偽の判別を行う文字列のことです。

これまでは1つの条件でレコードの抽出を行っていましたが、WHERE句の条件に論理演算子を使用することで

複数の条件を組み合わせてレコードを抽出することが可能になります。

論理演算子は主に以下3つがあります。

・論理積(AND)→a AND b(aかつb)

・論理和(OR)→a OR b(aまたはb)

・論理否定(NOT)→NOT a(aでない)

では、それぞれの演算子を使って様々な条件を記述していきましょう。

今回は例として以下のようなテーブル(テーブル名:teachers)を使用します。

 

論理積


AND演算子を使ってidが1、年齢が29の条件を記述します。


SELECT * 
FROM teachers 
WHERE id=1 AND age=29;

WHERE句にid=1とage=29を指定したので、条件に合致するレコードが抽出されました。

条件が合致しない場合は以下のように表示されません。

 

論理和


OR演算子を使い、idが1または6に該当するレコードを抽出します。


SELECT * 
FROM teachers 
WHERE id=1 OR id=6;

WHERE句でidが1と6の条件を指定しました。

id=6はテーブル内に無いので、id=1のレコードのみ表示されました。

 

論理否定


NOT演算子を使い、idが1以外のレコードを抽出します。

 
SELECT * 
FROM teachers 
WHERE NOT id=1; 


WHERE句でNOT演算子を使ったので、idが1以外のレコードを抽出できました。

今回の学習ポイント


・WHERE句で論理演算子を使用することで、複数の条件を指定でき、その条件に該当するレコードだけを抽出できる。

 

練習問題

問題として使用するデータは「SQL練習問題」のものを使用しています。

以下からダウンロード可能です。

以下のようにしてworldcup2014データベースを作成し、インポートしてください。

※worldcup2014.zip解凍してできるworldcup2014.sqlファイルをCドライブ直下に配置した場合。

worldcup2014.sql

[sql] CREATE DATABASE worldcup2014;
USE worldcup2014;
source C:\worldcup2014.sql
[/sql]

1.playersテーブルから背番号10、ポジションDFのレコードを抽出する。

答え
[sql] SELECT *
FROM players
WHERE uniform_num=10 AND position=’DF’;
[/sql]

2.RマドリードもしくはマンチェスターUに所属する選手を抽出する。

答え
[sql] SELECT *
FROM players
WHERE club=’Rマドリード’ OR club=’マンチェスターU’;
[/sql]

3.出場国のidが10以上15以下の国を抽出する。

答え
[sql] SELECT *
FROM countries
WHERE NOT id < 11 AND id < 15 ;
[/sql]

以上、論理演算子についてでした。

 

 

連載目次リンク

SQL基礎 連載目次

関連する連載リンク

SQL練習問題 一覧まとめ