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

SQLステートメントでANDとORを組み合わせるにはどうすればよいですか?

    これらは両方とも有効ですが、AND以降、 ORよりも優先度が高い 、それらは異なることを意味します:

    • 最初の括弧で囲まれたクエリは、タイプ3、4、5の削除された行を選択します
    • 2番目の括弧で囲まれたクエリは、タイプ4の削除された行に加えて、タイプ3、5のすべての行を選択します。これは、括弧なしの元のクエリと同じ意味です。

    演算子INを使用すると、混乱を完全に回避できます。 、このように:

    SELECT * FROM `table` WHERE type IN (3, 4, 5) AND table.deleted = 1;
    

    または、2番目の意味が必要な場合

    SELECT * FROM `table` WHERE type IN (3, 5) OR (type = 4 AND table.deleted = 1)
    


    1. MySQLでINT(1)とTINYINT(1)を使用することに違いはありますか?

    2. IRIWorkbenchでのテーブルフィルタリング

    3. SQL Server 2008 Management Studioでテキストまたはvarchar(MAX)列のコンテンツ全体を表示するにはどうすればよいですか?

    4. SQL Server ROWCOUNT_BIG()