sql >> データベース >  >> RDS >> Database

SQL演算子

    この記事ではSQL演算子のリストを提供しているため、SQL演算子のチートシートとして使用できます。

    これらの演算子のすべてがすべてのDBMSでサポートされているわけではありません。疑わしい場合は、特定のDBMSのドキュメントを確認してください。

    SQL算術演算子

    オペレーター 説明
    + 加算演算子。 2つの数値を追加します。この演算子は、日付から日数で数値を追加することもできます(DBMSによって異なる場合があります)。
    - 減算演算子。 2つの数値を減算します。この演算子は、日付から日単位の数値を減算することもできます(DBMSによって異なる場合があります)。
    * 乗算演算子。 2つの式を乗算します。
    / 除算演算子。ある数値を別の数値で除算します。
    モジュラス演算子。ある数値を別の数値で割った余りを返します。

    SQLビット演算子

    オペレーター 説明
    ビットごとのAND演算子。 2つの整数値の間でビット単位の論理AND演算を実行します。
    | ビット単位のOR演算子。 SQLステートメント内のバイナリ式に変換された2つの指定された整数値の間でビット単位の論理OR演算を実行します。
    ビット単位の排他的論理和(XOR)演算子。
    ^ ビット単位の排他的論理和(XOR)演算子。 2つの整数値の間でビット単位の排他的論理和演算を実行します。
    ビット単位のNOT演算子。整数値に対してビット単位の論理NOT演算を実行します。
    << ビット単位の左シフト演算子。左のオペランドのビットを、右のオペランドで指定された量だけ左にシフトします。
    >> ビット単位の右シフト演算子。左のオペランドのビットを、右のオペランドで指定された量だけ右にシフトします。

    SQL比較演算子

    オペレーター 説明
    = 等しい演算子。 2つの式の同等性を比較します。
    > GreaterThan演算子。 2つの式を比較し、左側のオペランドの値が右側のオペランドよりも大きい場合はTRUEを返します。それ以外の場合、結果はFALSEになります。
    < LessThan演算子。 2つの式を比較し、左側のオペランドの値が右側のオペランドよりも小さい場合はTRUEを返します。それ以外の場合、結果はFALSEになります。
    > = GreaterThanまたはEqualTo演算子。 2つの式を比較し、左側のオペランドの値が右側のオペランド以上の場合はTRUEを返します。それ以外の場合は、FALSEを返します。
    <= LessThanまたはEqualTo演算子。 2つの式を比較し、左側のオペランドの値が右側のオペランド以下の場合はTRUEを返します。それ以外の場合は、FALSEを返します。
    <> 演算子と等しくありません。 2つの式を比較し、左のオペランドが右のオペランドと等しくない場合はTRUEを返します。それ以外の場合、結果はFALSEになります。
    !< 演算子以上。 2つの式を比較し、左側のオペランドの値が右側のオペランドよりも小さい場合はTRUEを返します。それ以外の場合、結果はFALSEになります。
    != 演算子と等しくありません。 2つの式を比較し、左のオペランドが右のオペランドと等しくない場合はTRUEを返します。それ以外の場合、結果はFALSEになります。
    !> 演算子より大きくない。 2つの式を比較し、左側のオペランドの値が右側のオペランドよりも大きくない場合はTRUEを返します。それ以外の場合、結果はFALSEになります。

    SQL複合演算子

    オペレーター 説明
    + = 代入演算子を追加します。 2つの数値を加算し、演算の結果に値を設定します。
    -= 減算代入演算子。 2つの数値を減算し、演算の結果に値を設定します。
    * = 乗算代入演算子。 2つの数値を乗算し、演算の結果に値を設定します。
    / = 除算代入演算子。ある数値を別の数値で除算し、演算の結果に値を設定します。
    %= モジュラス代入演算子。ある数値を別の数値で除算し、演算の結果に値を設定します。
    &= ビット単位のAND代入演算子。 2つの整数値の間でビット単位の論理AND演算を実行し、演算の結果に値を設定します。
    ^ = ビット単位の排他的論理和(XOR)代入演算子。 2つの整数値の間でビット単位の排他的論理和演算を実行し、演算の結果に値を設定します。
    | = ビット単位のOR代入演算子。 SQLステートメント内のバイナリ式に変換された2つの指定された整数値の間でビット単位の論理OR演算を実行し、演算の結果に値を設定します。

    SQL論理演算子

    オペレーター 説明
    ALL すべてのサブクエリ値が条件を満たす場合にTRUEを返します。
    AND 2つのブール式を組み合わせて、両方の式がTRUEの場合にTRUEを返します。
    任意 サブクエリ値のいずれかが条件を満たす場合にTRUEを返します。
    BETWEEN テストする範囲を指定します。オペランドが比較の範囲内にある場合はTRUEを返します。
    EXISTS 行の存在をテストするサブクエリを指定します。サブクエリが1つ以上のレコードを返す場合、TRUEを返します。
    IN 指定された値がサブクエリまたはリストのいずれかの値と一致するかどうかを判別します。オペランドが式のリストの1つと等しい場合にTRUEを返します。
    LIKE 特定の文字列が指定されたパターンと一致するかどうかを判別します。オペランドがパターンに一致するとTRUEを返します。
    NOT ブール入力を否定します(ブール式の値を逆にします)。したがって、式がFALSEの場合はTRUEを返します。 MariaDBでは、 NOT INの無効化に制限されています 、 BETWEEN 、および EXISTS 条項。
    または 2つの条件を組み合わせます。いずれかの条件がTRUEの場合、TRUEを返します。
    いくつか ANYと同じ 。サブクエリ値のいずれかが条件を満たす場合にTRUEを返します。

    SQL集合演算子

    オペレーター 説明
    EXCEPT 2つのクエリの結果を比較することにより、個別の行を返します。右側の入力クエリでは出力されない、左側の入力クエリからの個別の行を返します。
    INTERSECT 2つのクエリの結果を比較することにより、個別の行を返します。左右両方の入力クエリ演算子によって出力される個別の行を返します。
    INTERSECT ALL 2つのクエリの結果を比較することにより、個別の行を返します。左右両方の入力クエリ演算子によって出力される個別の行を返します。
    UNION 重複を除いて、2つのクエリの結果を1つの結果セットに連結します。
    UNION ALL 2つのクエリの結果を、重複を含む1つの結果セットに連結します。
    マイナス 2つのクエリの結果を比較することにより、個別の行を返します。右側の入力クエリでは出力されない、左側の入力クエリからの個別の行を返します。

    SQL文字列演算子

    オペレーター 説明
    + 文字列連結演算子(SQLServer)。文字列の連結は、文字列をエンドツーエンドで結合する操作です。
    || 文字列連結演算子(DB2、Oracle、PostgreSQL、SQLite)。文字列の連結は、文字列をエンドツーエンドで結合する操作です。
    + = 文字列連結代入演算子。
    一致するワイルドカード文字の割合。 0文字以上の任意の文字列に一致します。このワイルドカード文字は、プレフィックスまたはサフィックスとして使用でき、途中で使用することもできます。
    [] 一致するワイルドカード文字。角かっこ[]の間に指定された指定範囲またはセット内の任意の1文字に一致します 。これらのワイルドカード文字は、 LIKEなどのパターンマッチングを含む文字列比較で使用できます。 。 SQLServerでサポートされています。 MySQL、Oracle、DB2、およびSQLiteではサポートされていません。
    [^] ワイルドカード文字/秒ではありません 合わせる。角かっこ[^]の間に指定された範囲またはセット内にない単一の文字に一致します 。これらのワイルドカード文字は、 LIKEなどのパターンマッチングを含む文字列比較で使用できます。 。
    _ ワイルドカード文字–1文字に一致します。 LIKEなどのパターンマッチングを含む文字列比較操作で任意の1文字に一致します 。 DB2ではサポートされていません。

    SQL単項演算子

    オペレーター 説明
    + 正の単項演算子。数値は正です。
    - 負の単項演算子。数値が負です。
    ビット単位のNOT演算子。数値の1の補数を返します。
    PRIOR Oracle独自のオペレーター。階層クエリまたはツリー構造クエリで、現在の行の親行に対して次の式を評価します。このようなクエリでは、 CONNECT BYでこの演算子を使用する必要があります 親行と子行の間の関係を定義する句。

    その他のSQL演算子

    オペレーター 説明
    (+) 外部結合演算子(Oracle独自の演算子)。前の列が結合の外部結合列であることを示します。
    :: スコープ解決演算子。複合データ型の静的メンバーへのアクセスを提供します。複合データ型は、複数の単純なデータ型とメソッドを含むものです。

    SQL演算子とは何ですか?

    SQL演算子は、1つ以上の式で実行されるアクションを指定するシンボルです。

    SQLオペレーターは、個々のデータ項目を操作して結果を返します。データ項目はオペランドと呼ばれます または引数 。 SQL演算子は、特殊文字またはキーワードで表されます。

    簡単な例を次に示します。

    SELECT PetId FROM Pets
    WHERE PetName = 'Fluffy'
    AND DOB > '2020-01-01';

    このSQLには3つの演算子がありますSELECT ステートメント。

    • Equals演算子( = )2つの式( PetName の値)の同等性を比較します 列と文字列Fluffy
    • Greater Than演算子(> )2つの式を比較し、 TRUEを返します 左のオペランドの値が右のオペランドよりも大きい場合。それ以外の場合、結果は FALSEになります 。この場合、 DOBの値を比較しています 列と日付2020-01-01 その日付がDOBの値より大きいかどうかを確認します 列。
    • AND 演算子は2つのブール式を組み合わせて、 TRUEを返します。 両方の式がTRUEの場合 。この場合、 TRUEを返します。 PetName ='Fluffy'の場合 およびDOB>'2020-01-01'

    このページにリストされている演算子を使用して、必要なデータを返すのに役立つ複雑なSQLクエリを作成できます。

    その他の例については、12の一般的に使用されるSQL演算子を参照してください。


    1. Javaクロス集計-プリペアドステートメントクエリ

    2. Oracle PLS-00363:式''を割り当てターゲットとして使用できません

    3. OracleのTZ_OFFSET()関数

    4. テーブルの行サイズを決定する