mysql 通过一个字段查询与之对应的另一个表里的数据总数

2025-03-24 20:55:24
推荐回答(2个)
回答1:

1、创建表
create table a (name varchar(20) not null,sex varchar(10));
create table b (name varchar(20) not null,sex varchar(10));
2、插入值
insert into a values('john','male');insert into b values('john','male');
insert into a values('kate','female');insert into b values('kate','female');
3、查询方法1
mysql> select name,sex from a where name in (select name from b where name='john');
+------+------+
| name | sex |
+------+------+
| john | male |
+------+------+
1 row in set (0.00 sec)
4、查询方法2
mysql> select a.name,a.sex from a,b where a.name=b.name and b.name='john';
+------+------+
| name | sex |
+------+------+
| john | male |
+------+------+
1 row in set (0.00 sec)

回答2:

select
*,

(select count(*) from b where b.p_id = a.id) AS count_b,

(select count(*) from c where c.p_id = a.id) AS count_c

from a order by a.id