MySQL 查询检查是否存在多行?

mysqlmysqli database更新于 2024/4/5 22:54:00

首先我们创建一个表 −

mysql> create table DemoTable1219
(
   Id int,
   Name varchar(40)
);
Query OK, 0 rows affected (0.43 sec)

使用 insert 命令在表中插入一些记录 −

mysql> insert into DemoTable1219 values(100,'Adam');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable1219 values(101,'John');
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable1219 values(102,'Chris');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable1219 values(103,'Bob');
Query OK, 1 row affected (0.18 sec)

使用 select 语句显示表中的所有记录 −

mysql> select *from DemoTable1219;

这将产生以下输出 −

+------+-------+
| Id   | Name  |
+------+-------+
|  100 | Adam  |
|  101 | John  |
|  102 | Chris |
|  103 | Bob   |
+------+-------+
4 rows in set (0.00 sec)

以下是检查是否存在多行的查询−

mysql> select count(distinct Id)=3 from DemoTable1219 where Id IN(100,103,102);

这将产生以下输出 −

+----------------------+
| count(distinct Id)=3 |
+----------------------+
|                   1 |
+----------------------+
1 row in set (0.00 sec)

注意 − 返回值为 1,表示存在多行。


相关文章