SQL AND

概要: このチュートリアルでは、SQL の AND 演算子について説明し、SQL ステートメントのWHERE句で柔軟な条件を形成する方法を示します。

SQL AND 演算子の紹介

AND演算子は、WHERE句のSELECTUPDATE、またはDELETEステートメントにおいて、2つのブール式を組み合わせる論理演算子です。以下にAND演算子の構文を示します。

expression1 AND expression2;

AND演算子は、両方の式が真である場合に真を返します。2つの式のいずれかが偽の場合、またはいずれかの式がNULLの場合、AND演算子は偽を返します。

次の表は、真、偽、NULLの値を比較した場合のAND演算子の結果を示しています。

TRUEFALSENULL
TRUETRUEFALSENULL
FALSEFALSEFALSEFALSE
NULLNULLFALSENULL

SQL AND 演算子の例

サンプルデータベースemployeesテーブルを使用して、SQL AND 演算子を説明します。

employees_table

次のステートメントは、ジョブIDが9であり、かつ給与が5,000より大きいすべての従業員を見つけます。

SELECT
	first_name,
	last_name,
	job_id,
	salary
FROM
	employees
WHERE
	job_id = 9
AND salary > 5000;

試してみる

SQL AND example

1997年から1998年の間に会社に入社したすべての従業員を見つけるには、次のようにAND演算子を使用します。

SELECT
	first_name,
	last_name,
	hire_date
FROM
	employees
WHERE
	YEAR (hire_date) >=1997
AND YEAR (hire_date) <= 1998;Code language: SQL (Structured Query Language) (sql)

試してみる

SQL AND 演算子と短絡評価

短絡評価機能により、データベースシステムは、結果を判断できるようになった時点で、論理式の残りの部分の評価を停止できます。

短絡評価機能の動作をよりよく理解するために、例を見てみましょう。

次の条件を見てください。

1 = 0 AND 1 = 1;

データベースシステムは、まず2つの比較を処理し、AND演算子を使用して2つの結果を評価します。

しかし、短絡評価機能を使用すると、左側の部分(1 = 0)が偽を返すため、条件の右側の部分の結果に関係なく、条件全体が偽を返すため、データベースシステムは式の左側の部分だけを評価する必要があります。

したがって、短絡評価機能はCPUの計算時間を短縮し、場合によってはランタイムエラーの発生を防ぐのに役立ちます。次の条件を考えてみましょう。

1 = 0 AND 1/0;

データベースシステムが短絡評価機能をサポートしている場合、ゼロ除算エラーを引き起こす式の右側の部分(1/0)は評価されません。

これで、SQL AND演算子の動作と、クエリで複雑な条件を形成するためにそれを適用する方法を理解するはずです。

このチュートリアルは役に立ちましたか?