MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLのSELECTクエリでのANDおよびOR演算子の優先度?


ANDは、MySQLselectクエリのOR演算子よりも優先度が高くなります。

MySQLがどのようにAND演算子を最優先するかを確認しましょう。

クエリは次のとおりです

mysql> select 0 AND 0 OR 1 as Result;

以下は出力です

+--------+
| Result |
+--------+
| 1     |
+--------+
1 row in set (0.00 sec)

OR演算子の優先度が最も高いと考えている場合、MySQLは上記のクエリを次のようにまとめます。

クエリは次のとおりです

select 0 AND (0 OR 1) as Result

まず、0 OR 1を解くと、結果1が得られます。その後、0と1で結果0が得られます。

ただし、0を取得し、出力が1であるため、上記のケースは適切ではありません。したがって、上記のクエリでは、結果1を取得するためにORよりもANDが最高の優先度を取得します。

クエリは次のとおりです

select 0 AND 0 OR 1 as Result

まず、AND演算子を最初に解きます。 0AND0は結果0を返します。

その後、0または1で結果1が得られます。

これで、正確な出力が得られます。


  1. 単一のクエリでのMySQLUNIONSELECTおよびIN句

    まずテーブルを作成しましょう- mysql> create table DemoTable1    -> (    -> StudentId int,    -> StudentName varchar(20)    -> ); Query OK, 0 rows affected (1.24 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1 values(210,'Adam'

  2. 行の値を合計して結果を並べ替えるMySQLクエリ?

    このために、ORDERBY句とともにGROUPBYを使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1499    -> (    -> StudentName varchar(20),    -> StudentMarks int    -> ); Query OK, 0 rows affected (0.46 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert in