MySQL查询对多个表中的行进行计数

让我们首先创建一个表-

mysql> create table DemoTable1 (FirstName varchar(100));

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

mysql> insert into DemoTable1 values('Bob');
mysql> insert into DemoTable1 values('James');
mysql> insert into DemoTable1 values('John');
mysql> insert into DemoTable1 values('David');

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

mysql> select *from DemoTable1;

这将产生以下输出-

+-----------+
| FirstName |
+-----------+
| Bob       |
| James     |
| John      |
| David     |
+-----------+
4 rows in set (0.00 sec)

这是创建第二个表的查询-

mysql> create table DemoTable2 (Marks int);

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

mysql> insert into DemoTable2 values(98);
mysql> insert into DemoTable2 values(89);
mysql> insert into DemoTable2 values(67);
mysql> insert into DemoTable2 values(34);
mysql> insert into DemoTable2 values(32);
mysql> insert into DemoTable2 values(42);

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

mysql> select *from DemoTable2;

这将产生以下输出-

+-------+
| Marks |
+-------+
| 98    |
| 89    |
| 67    |
| 34    |
| 32    |
| 42    |
+-------+
6 rows in set (0.00 sec)

这是对多个表中的行进行计数的查询-

mysql> select
   (select count(*) from DemoTable1) AS First_Table_Row,
   (select count(*) from DemoTable2) AS Second_Table_Row;

这将产生以下输出-

+-----------------+------------------+
| First_Table_Row | Second_Table_Row |
+-----------------+------------------+
| 4               | 6                |
+-----------------+------------------+
1 row in set (0.00 sec)