【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ドライブ直下に配置した場合。
[sql] CREATE DATABASE worldcup2014;USE worldcup2014;
source C:\worldcup2014.sql
[/sql]
1.playersテーブルから背番号10、ポジションDFのレコードを抽出する。
2.RマドリードもしくはマンチェスターUに所属する選手を抽出する。
3.出場国のidが10以上15以下の国を抽出する。
以上、論理演算子についてでした。