MySQL代码子查询续集

 dept表:

 

 emp表:

-- 查询每个部门的信息(包括:部门名,编号,地址)和人员数量
-- 1.将两张表结合起来,筛选出部门名,编号,地址 

tips:     

  1.   表.* 表示将该表所有列都显示出来,可以简化sql语句
  2.   在多表查询中,当多个表的列不重复时,才可以直接写列名
-- 查询每个部门的信息(包括:部门名,编号,地址)和人员数量
-- 1.将两张表结合起来,筛选出部门名,编号,地址
SELECT DISTINCT dname ,loc, dept.deptno
	FROM dept , emp
	WHERE dept.deptno = emp.deptno
-- 2.将每个部门的人员数量统计出来
SELECT COUNT(*) AS total,deptno
	FROM emp
	GROUP BY deptno;
	
-- 3.将两个查询信息拼接起来
SELECT dname ,loc , dept.deptno, per_total
	FROM dept, (
		SELECT COUNT(*) AS per_total,deptno
		FROM emp
		GROUP BY deptno
	) temp
	WHERE dept.deptno = temp.deptno

SELECT dname, dept.deptno, loc ,tmp.per_num AS '人数'
	FROM dept, (
		SELECT COUNT(*) AS per_num, deptno
		FROM emp
		GROUP BY deptno
	) tmp
	WHERE tmp.deptno = dept.deptno
	
SELECT dname, loc ,tmp.*
	FROM dept, (
		SELECT COUNT(*) AS per_num, deptno
		FROM emp
		GROUP BY deptno
	) tmp
	WHERE tmp.deptno = dept.deptno

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值