在 MySQL 中 AND、OR 運算子在檢索行時有什麼區別?
AND 和 OR 的區別在於 AND 要求兩個條件都為真,則總體條件才為真。OR 要求一個條件為真,則總體條件才為真。
讓我們建立一個表 -
mysql> create table demo70 −> ( −> id int not null auto_increment primary key, −> name varchar(20), −> age int −> ); Query OK, 0 rows affected (0.67 sec)
使用插入命令,插入一些記錄到表中 -
mysql> insert into demo70(name,age) values('John',23);
Query OK, 1 row affected (0.18 sec)
mysql> insert into demo70(name,age) values('David',21);
Query OK, 1 row affected (0.08 sec)
mysql> insert into demo70(name,age) values('Mike',22);
Query OK, 1 row affected (0.15 sec)
mysql> insert into demo70(name,age) values('Chris',20);
Query OK, 1 row affected (0.10 sec)
mysql> insert into demo70(name,age) values('John',24);
Query OK, 1 row affected (0.13 sec)
mysql> insert into demo70(name,age) values('David',22);
Query OK, 1 row affected (0.15 sec)使用 select 語句在表中顯示記錄 -
mysql> select *from demo70;
這將產生以下輸出 -
+----+-------+------+ | id | name | age | +----+-------+------+ | 1 | John | 23 | | 2 | David | 21 | | 3 | Mike | 22 | | 4 | Chris | 20 | | 5 | John | 24 | | 6 | David | 22 | +----+-------+------+ 6 rows in set (0.00 sec)
OR 運算子查詢如下 -
mysql> select *from demo70 −> where name="John" or age=22;
這將產生以下輸出 -
+----+-------+------+ | id | name | age | +----+-------+------+ | 1 | John | 23 | | 3 | Mike | 22 | | 5 | John | 24 | | 6 | David | 22 | +----+-------+------+ 4 rows in set (0.00 sec)
在 OR 結果中,如果 name 是 John,則條件為真。如果任何一行 age 為 22,則為真。
現在讓我們看看 AND 運算子的結果。
查詢如下 -
mysql> select *from demo70 −> where name="John" and age=22;
這將產生以下輸出 -
Empty set (0.00 sec)
AND 返回空集,因為沒有一行具有相同的 name John 和 age 22。
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP