带有 OR 和 AND 条件的 MySQL 查询
mysqlmysqli database
首先我们创建一个表 −
mysql> create table DemoTable -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Name varchar(20), -> Age int -> ); Query OK, 0 rows affected (0.63 sec)
使用 insert 命令在表中插入一些记录 −
mysql> insert into DemoTable(Name,Age) values('John',21); Query OK, 1 row affected (0.16 sec) mysql> insert into DemoTable(Name,Age) values(Null,20); Query OK, 1 row affected (0.12 sec) mysql> insert into DemoTable(Name,Age) values('David',23); Query OK, 1 row affected (0.16 sec) mysql> insert into DemoTable(Name,Age) values('Carol',null); Query OK, 1 row affected (0.17 sec)
使用 select 语句显示表中的所有记录 −
mysql> select *from DemoTable;
输出
+----+-------+------+ | Id | Name | Age | +----+-------+------+ | 1 | John | 21 | | 2 | NULL | 20 | | 3 | David | 23 | | 4 | Carol | NULL | +----+-------+------+ 4 rows in set (0.00 sec)
以下是带有 OR 和 AND 条件的查询 −
mysql> select *from DemoTable -> where Name='David' OR (Name is null AND Age=20);
输出
+----+-------+------+ | Id | Name | Age | +----+-------+------+ | 2 | NULL | 20 | | 3 | David | 23 | +----+-------+------+ 2 rows in set (0.00 sec)