from 员工;
4.(1)SELECT avg(应发工资) as 平均应发工资,avg(税款) as 平均税款
FROM 工资;
(2)SELECT count(*) as 员工个数
from 员工; 5.(1)SELECT *
from 员工
where 姓名 like \"王??\";
SELECT count(*) as 王姓员工个数
from 员工
where 姓名 like \"王??\"; (2) SELECT * from 员工
where 部门编号 = \"A1\" or 部门编号 = \"C1\"; (3) SELECT 员工编号,税款 from 工资
where 税款<200; 6. SELECT * FROM 员工
where 部门编号 = \"B1\" ORDER BY 生日;
7.(1) SELECT 部门编号, count(*) as 员工人数
FROM 员工
GROUP BY 部门编号;
(2) SELECT 部门编号, count(*) as 员工人数
FROM 员工
GROUP BY 部门编号 having count(*)>3; 8. SELECT 商品.*
FROM 商品类型,商品
Where (商品类型.类型编码 = 商品.类型) and (类型名称=\"化妆品\"); (1) 方法1: SELECT *
FROM 员工,部门
where (员工.部门编号 = 部门.部门编号) and (部门名称=\"营业部\"); 方法2: SELECT *
FROM 员工 inner join 部门
on (员工.部门编号 = 部门.部门编号) where (部门名称=\"营业部\"); (2)SELECT count(*) as 营业部人数
FROM 员工,部门
where (员工.部门编号 = 部门.部门编号) and (部门名称=\"营业部\")
(3)SELECT 员工.员工编号,员工.姓名,工资.应发工资
FROM 员工,部门,工资
where (员工.部门编号 = 部门.部门编号 and 员工.员工编号 = 工资.员工编号) and (部门名称=\"经营部\");
(4)SELECT 部门名称,avg(应发工资) as 平均应发工资
FROM 员工,部门,工资
where 员工.部门编号 = 部门.部门编号 and 员工.员工编号 = 工资.员工编号 group by 部门名称
实验思考:
2.HAVING子句通常需要使用集合函数来限定查询结果。
HAVING子句和WHERE子句都是条件限定子句,但其作用对象不同。
作用对象 与分组的关系 WHERE子句 表字段 无关 HAVING子句 计算字段 只能用于分组查询 中,必须在GROUP BY 之后。
3(a)SELECT 员工.姓名,部门.部门编号,部门.部门名称
FROM 员工,部门
where 员工.部门编号 = 部门.部门编号
(b) SELECT 部门.部门名称,avg(应发工资) as 平均应发工资
FROM 员工,部门,工资
where 员工.部门编号 = 部门.部门编号 and 员工.员工编号 = 工资.员工编号 group by 部门名称
having avg(应发工资)>=3500
(c) select 员工编号,姓名,员工.部门编号
from 员工 inner join 部门 on 员工.部门编号 = 部门.部门编号 where 部门名称=\"营业部\" (d) SELECT 员工编号,应发工资 FROM 工资
WHERE 员工编号 not in (select 员工编号 from 员工 where 部门编号=\"A2\")
and 应发工资>ALL(select min(应发工资) from 工资,员工 where 工资.员工编号=
员工.员工编号 and 员工.部门编号=\"A2\")
因篇幅问题不能全部显示,请点此查看更多更全内容