在 MySQL 中 SELECT WHERE IN null?
mysqlmysqli database
以下是语法 −
select yourColumnName1, yourColumnName2, yourColumnName3, . . . N from yourTableName where yourValue in(yourColumnName1,yourColumnName2) or yourColumnName1 is NULL;
让我们创建一个表 −
mysql> create table demo60 −> ( −> id int not null auto_increment primary key, −> first_name varchar(20), −> last_name varchar(20) −> ) −> ; Query OK, 0 rows affected (2.11 sec)
使用 insert 命令向表中插入一些记录 −
mysql> insert into demo60(first_name,last_name) values('John','Smith'); Query OK, 1 row affected (0.09 sec) mysql> insert into demo60(first_name,last_name) values('John','Doe'); Query OK, 1 row affected (0.51 sec) mysql> insert into demo60(first_name,last_name) values(null,'Brown'); Query OK, 1 row affected (0.09 sec) mysql> insert into demo60(first_name,last_name) values('David','Miller'); Query OK, 1 row affected (0.16 sec) mysql> insert into demo60(first_name,last_name) values('David','Smith'); Query OK, 1 row affected (0.11 sec) mysql> insert into demo60(first_name,last_name) values('Chris','Brown'); Query OK, 1 row affected (0.12 sec)
使用 select 语句显示表中的记录 −
mysql> select *from demo60;
这将产生以下输出 −
+----+------------+-----------+ | id | first_name | last_name | +----+------------+-----------+ | 1 | John | Smith | | 2 | John | Doe | | 3 | NULL | Brown | | 4 | David | Miller | | 5 | David | Smith | | 6 | Chris | Brown | +----+------------+-----------+ 6 rows in set (0.00 sec)
以下是选择其中 NULL 的查询 −
Mysql> select −> id, −> first_name, −> last_name −> from demo60 −> where 'John' in(first_name,last_name) or first_name is NULL;
这将产生以下输出 −
+----+------------+-----------+ | id | first_name | last_name | +----+------------+-----------+ | 1 | John | Smith | | 2 | John | Doe | | 3 | NULL | Brown | +----+------------+-----------+ 3 rows in set (0.00 sec)