在单个MySQL查询中使用两个SELECT语句返回在某个字段中没有值的记录
为此,您可以将WHERE子句与子查询一起使用。让我们首先创建一个表-
mysql> create table DemoTable1840 ( UserName varchar(20), UserType ENUM('GUEST','ADMIN') );
使用插入命令在表中插入一些记录-
mysql> insert into DemoTable1840 values('Chris','Admin'); mysql> insert into DemoTable1840 values('David','Guest'); mysql> insert into DemoTable1840 values('Chris','Guest');
使用select语句显示表中的所有记录-
mysql> select * from DemoTable1840;
这将产生以下输出-
+----------+----------+ | UserName | UserType | +----------+----------+ | Chris | ADMIN | | David | GUEST | | Chris | GUEST | +----------+----------+ 3 rows in set (0.00 sec)
这是对在某个字段中没有值的记录的查询:
mysql> select UserName from DemoTable1840 where UserName NOT IN(select UserName from DemoTable1840 where UserType='Admin');
这将产生以下输出-
+----------+ | UserName | +----------+ | David | +----------+ 1 row in set (0.00 sec)