最新的抗战电视剧:关于SQL查询的一个问题

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 20:02:14
有两个表:
部门(部门id,部门name),员工(id,部门ID)
用一个语句实现查出所有部门的部门name,和部门人数
napolun180410 - 经理 五级的回答不正确,我调试过,有两处不对:
1.不是Group by 部门表.部门id,而是员工表.部门ID
2.指定一个分组字段是得不到结果的,假调部们表为:dep(depid,depname),员工表为:per(perid,depid,pername),则下面的SQL才能成功:
"select count(a.perid) as depnum,b.depname from per a,dep b where a.depid=b.depid group by a.depid,b.depname"
后面group by a.depid如果不加b.depname会提示:试图执行的查询中不包含作为合计函数一部分的特定表达式 'depname', 为什么要加,我不太明白,虽然调试出来了.

select 部门name,count(id) as 部门人数 from 部门表,员工表 where 部门表.部门id=员工表.部门ID) group by 部门表.部门id;

注释:

两张表用部门ID连接

部门id 分组 ------------- group by

count(id) ------- 为员工记数

as 部门人数 --------- 改字段名

select b.depname 部门名称, count(a.perid) 人数,from per a,dep b where a.depid=b.depid group by b.depid

select 部门name,count(id) as 部门人数 from 部门表,员工表 where 部门表.部门id=员工表.部门ID) group by 部门表.部门name