【SQL】ORを用いて複数条件を指定する方法

SQLのORとは?複数条件を指定するORの使い方

山下 雅也

山下 雅也

開発エンジニア/エンジニア歴2年7ヶ月

SQLで条件Aまたは条件Bというように複数条件を指定してデータを抽出する場合ORを使用します。

本記事では、ORを使って複数条件を指定する方法について解説します。また、以下のユーザー(user)テーブルを使用します。

IDnameagegroup_id
1User130103
2User225103
3User327101
4User423101
5User535102
One dayインターン

1.ORを用いて複数条件を指定する方法

それでは実際にORを用いて複数条件を指定する方法について見ていきましょう。

例として、ユーザー(user)テーブルから年齢(age)が30以上またはグループIDgroup_id)が103であるレコードを取得する場合は以下の通りとなります。

例)ユーザー(user)テーブルから年齢(age)が30以上またはグループIDgroup_id)が103であるレコードを取得する場合

SELECT * FROM user WHERE age >= 30 OR group_id = 103;

▽実行結果

IDnameagegroup_id
1User130103
2User225103
5User535102

このようにして、条件Aまたは条件Bどちらかの条件を満たすレコードを取得します。

SQLで複数条件を指定する方法は、OR以外にANDもあります。ただし、ORANDそれぞれには違いがあります。

それでは次にORANDの違いについて見ていきましょう。


2.ORとANDの違い

それでは続いては、ORANDの違いについてです。

条件Aまたは条件Bどちらかの条件を満たすレコードを取得したい場合はORを使うことで取得することが出来ました。

では例えば、条件Aかつ条件Bどちらの条件も満たすレコードを取得したい場合はどうすればよいでしょうか?

この場合は、ANDを使うことで取得したいレコードを取得することが出来ます。

例として、ユーザー(user)テーブルから年齢(age)が30以上かつグループIDgroup_id)が103であるレコードを取得する場合は以下の通りとなります。

例)ユーザー(user)テーブルから年齢(age)が30以上かつグループIDgroup_id)が103であるレコードを取得する場合

SELECT * FROM user WHERE age >= 30 AND group_id = 103;

▽実行結果

IDnameagegroup id
1User130103

このようにして、条件Aかつ条件Bどちらの条件も満たすレコードを取得します。

以上がORANDの違いについてです。実際にSQLORANDを用いて複数条件を指定する際は、これらの違いについて注意しながら使ってみてください。


3.まとめ

以上、SQLORを用いて複数条件を指定する方法、また、ORANDの違いについて解説してきました。

複数条件を指定してデータを取得する場合は是非参考にしてみてください。

私たちは、全てのエンジニアに市場価値を高め自身の望む理想のキャリアを歩んでいただきたいと考えています。もし、今あなたが転職を検討しているのであればこちらの記事をご一読ください。理想のキャリアを実現するためのヒントが見つかるはずです。

『技術力』と『人間力』を高め定年まで働けるエンジニアを目指しませんか?

私たちは「技術力」だけでなく「人間力」の向上をもって、エンジニアとしてだけでなくビジネスパーソンとして高い水準を目指し、社会や顧客に必要とされることで、関わる人々に感動を与える集団であろうと思っています。

  • 定年までIT業界で働くためのスキルが身につく「感動大学」と「技術勉強会」!
  • 「給与が上がらない」を解消する6ヶ月に1度の明確な「人事評価制度」!
  • 理想のエンジニア像に近づくためのよきアドバイザー「専任コーチ制度」!
  • 稼動確認の徹底により実現できる平均残業時間17時間の働きやすい環境!

現在、株式会社ボールドでは「キャリア採用」のエントリーを受付中です。

まずは以下のボタンより弊社の紹介をご覧いただき、あなたの望むキャリアビジョンをエントリーフォームより詳しくお聞かせください。

コメント

26卒 新卒学生向け主催企業:株式会社ボールド
どんなIT企業なら理想のエンジニアになれるのか?

2時間でIT業界の全てが分かるOne dayインターン

26卒 新卒学生向け主催企業:株式会社ボールド
どんなIT企業なら理想のエンジニアになれるのか?

2時間でIT業界の全てが分かるOne dayインターン