SQL比較演算子

概要:このチュートリアルでは、SQL比較演算子について学び、データのフィルタリング条件を形成する方法を習得します。

SQL比較演算子を使用すると、2つの式が同じかどうかをテストできます。次の表は、SQLの比較演算子を説明しています。

演算子意味
=等しい
<>等しくない
>より大きい
>=以上
<より小さい
<=以下

比較演算子の結果は、真、偽、不明の3つの値のいずれかになります。

等号演算子 (=)

等号演算子は、2つの式の等価性を比較します。

expression1 = expression2
Code language: SQL (Structured Query Language) (sql)

左側の式の値が右側の式の値と等しい場合、真を返します。そうでない場合は、偽を返します。

たとえば、次のステートメントは、姓がHimuroである従業員を検索します。

SELECT 
    employee_id, first_name, last_name
FROM
    employees
WHERE
    last_name = 'Himuro'; 
Code language: SQL (Structured Query Language) (sql)
SQL comparison operators - Equal Operator example

この例では、クエリはemployeesテーブルのlast_name列に文字列Himuroを検索します。

等号演算子はNULL値を比較するために使用できないことに注意してください。たとえば、次のクエリの意図は、電話番号を持たないすべての従業員を見つけることです。

SELECT 
    employee_id, first_name, last_name, phone_number
FROM
    employees
WHERE
    phone_number = NULL;
Code language: SQL (Structured Query Language) (sql)

しかし、次の式は常に偽を返すため、空の結果セットが返されます。

phone_number = NULL
Code language: SQL (Structured Query Language) (sql)

NULL値を比較するには、代わりにIS NULL演算子を使用します。

SELECT 
    employee_id, first_name, last_name, phone_number
FROM
    employees
WHERE
    phone_number IS NULL;
Code language: SQL (Structured Query Language) (sql)
SQL comparison operators - is null operator

不等号演算子 (<>)

不等号(<>)演算子は、2つの非NULL式を比較し、左側の式の値が右側の値と等しくない場合に真を返し、そうでない場合は偽を返します。

expression1 <> expression2
Code language: SQL (Structured Query Language) (sql)

たとえば、次のステートメントは、部署IDが8ではないすべての従業員を返します。

SELECT 
    employee_id, first_name, last_name, department_id
FROM
    employees
WHERE
    department_id <> 8
ORDER BY first_name , last_name;
Code language: SQL (Structured Query Language) (sql)
SQL comparison operators - not equal to operator example

AND演算子を使用して、不等号(<>)演算子を使用する複数の式を組み合わせることができます。たとえば、次のステートメントは、部署IDが8と10ではないすべての従業員を検索します。

SELECT 
    employee_id, first_name, last_name, department_id
FROM
    employees
WHERE
    department_id <> 8
        AND department_id <> 10
ORDER BY first_name , last_name; 
Code language: SQL (Structured Query Language) (sql)
SQL comparison operators - not equal to operator and AND operator

大なり演算子 (>)

大なり演算子(>)は、2つの非NULL式を比較し、左オペランドが右オペランドより大きい場合に真を返し、そうでない場合は偽を返します。

expression1 > expression2
Code language: SQL (Structured Query Language) (sql)

たとえば、給与が10,000より大きい従業員を検索するには、次のようにWHERE句で大なり演算子を使用します。

SELECT 
    employee_id, first_name, last_name, salary
FROM
    employees
WHERE
    salary > 10000
ORDER BY salary DESC;
Code language: SQL (Structured Query Language) (sql)
SQL comparison operators - greater than operator

ANDまたはOR演算子を使用して、さまざまな比較演算子を使用する式を組み合わせることができます。たとえば、次のステートメントは、部署が8で給与が10,000より大きい従業員を検索します。

SELECT 
    employee_id, first_name, last_name, salary
FROM
    employees
WHERE
    salary > 10000 AND department_id = 8
ORDER BY salary DESC;
Code language: SQL (Structured Query Language) (sql)
SQL comparison operators - combine operators

小なり演算子 (<)

小なり演算子は、2つの非NULL式を比較します。左オペランドが右オペランドの値より小さい値に評価される場合、結果は真になります。そうでない場合は、偽になります。

小なり演算子の構文を以下に示します。

expression1 < expression2
Code language: SQL (Structured Query Language) (sql)

たとえば、次のステートメントは、給与が10,000未満のすべての従業員を返します。

SELECT 
    employee_id, first_name, last_name, salary
FROM
    employees
WHERE
    salary < 10000
ORDER BY salary DESC;Code language: SQL (Structured Query Language) (sql)
SQL comparison operators - less than operator

以上演算子 (>=)

以上演算子(>=)は、2つの非NULL式を比較します。左側の式が右側の式の値より大きい値に評価される場合、結果は真になります。

以上演算子の構文を以下に示します。

expression1 >= expression2
Code language: SQL (Structured Query Language) (sql)

たとえば、次のステートメントは、給与が9,000以上の従業員を検索します。

SELECT 
    employee_id, first_name, last_name, salary
FROM
    employees
WHERE
    salary >= 9000
ORDER BY salary;Code language: SQL (Structured Query Language) (sql)
SQL comparison operators - greater than or equal

以下演算子 (<=)

以下演算子は、2つの非NULL式を比較し、左側の式の値が右側の式の値以下の場合に真を返し、そうでない場合は偽を返します。

以下演算子の構文を以下に示します。

expression1 <= expression2Code language: SQL (Structured Query Language) (sql)

たとえば、次のステートメントは、給与が9,000以下の従業員を検索します。

SQL comparison operators - less than or equal operator

このチュートリアルでは、比較演算子を使用して、指定された条件に基づいてデータをフィルタリングするための比較式を形成する方法を学習しました。

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