use company
-- 1、查找所有经理的姓名、职称、薪水。select emp_name,dept,salary from employee where title='经理'-- 2、在销售主表sales中查找销售金额大于等于10000元的订单。select*from sales where tot_amt>=10000-- 3、在员工表employee中查找薪水在4000至8000元之间的员工。select emp_name from employee where salary between4000and8000-- 4、在员工表employee中查找住址为上海、北京、天津这三个城市的员工。select emp_name from employee where addr in('上海市','天津市','北京市')-- 5、在客户表customer中查找住址不在上海、北京、天津这三个城市的客户。select emp_name from employee where addr notin('上海市','天津市','北京市')-- 6、在员工表employee中查找姓“王”用姓名最后一个字为“功”的员工。select emp_name from employee where emp_name like'王%功'-- 7、在客户表customer中查找姓“刘”的客户名称、电话。select cust_name,tel_no from customer where cust_name like'刘%'-- 8、查找出职称为“经理”或“职员”的女工的信息。select*from employee where title in('经理','职员')and sex='女'-- 9、查找薪水最高的前三条员工记录。selecttop(3)*from employee orderby salary desc-- 10、查找订单金额最高的前10%的订单记录。selecttop(10)percent*from sales orderby tot_amt desc-- 11、查找员工表中所属部门。(去掉重复记录)selectdistinct dept from employee
-- 12、查找员工表中的所有记录,并按薪水由低到高进行排序。select*from employee orderby salary desc
实验五:数据表查询进阶
use company
go
-- % 在员工表employee中统计员工人数。selectcount(*)as'员工人数'from employee
go
-- % 统计各部门员工的员工人数及平均薪水。-- dept 部门号 salary 薪水selectAVG(salary)as'平均收入',count(*)as'人数'from employee
groupby dept;
go
-- % 查询销售业绩超过10000元的员工编号。-- sale_id 业务员编号 tot_amt 订单金额select sale_id as 业务员编号
from sales
GROUPBY sale_id
HAVINGSUM(tot_amt)>10000
go
-- % 计算每一产品销售数量总和与平均销售单价。-- unit_price 单价 qty销售数量 prod_id产品编号SELECT prod_id as 产品编号,SUM(qty)as 数量总和,AVG(unit_price)as 平均销售单价
FROM sale_item
GROUPBY prod_id;
go
-- % 统计各部门不同性别、或各部门、或不同性别或所有员工的平均薪水。(在GROUP BY 子句中使用CUBE关键字)select dept as 部门, sex as 性别,AVG(salary)from employee
GROUPBY dept,sex
WITH CUBE
selectAVG(salary)as 平均薪水 from employee
select sex as 性别,AVG(salary)AS 平均薪水 FROM employee GROUPBY sex;
go
-- % 统计各部门不同性别、或各部门或所有员工的平均薪水。(在GROUP BY 子句中使用ROLLUP关键字)select sex as 性别 , dept as 部门,AVG(salary)as 平均薪水
FROM employee
GROUPBY sex,dept WITH ROLLUP-- 两种效果不一样select sex as 性别 , dept as 部门,AVG(salary)as 平均薪水
FROM employee
GROUPBY dept,sex WITH ROLLUP
go
-- % 计算出一共销售了几种产品。selectcount(distinct prod_id)as 销售产品种类
from sale_item
go
-- % 显示sale_item表中每种产品的订购金额总和,并且依据销售金额由大到小排列来显示出每一种产品的排行榜。select product.prod_name as 产品名称,SUM(unit_price)AS 总价格
from product, sale_item
where product.prod_id=sale_item.prod_id
GROUPBY product.prod_name
ORDERBYSUM(unit_price)desc;-- 将两个表连接SELECT*FROM product, sale_item
WHERE product.prod_id=sale_item.prod_id
orderby product.prod_id
go
-- % 计算每一产品每月的销售金额总和,并将结果按销售(月份,产品编号)排序。SELECT product.prod_id as 产品编号,
product.prod_name as 产品名称 ,MONTH(order_date)as 月份,SUM(unit_price)as 销售金额总和
from product, sale_item
where product.prod_id=sale_item.prod_id
GROUPBY product.prod_id ,MONTH(order_date),product.prod_name
ORDERBYMONTH(order_date),product.prod_id;
go
-- % 查询每位业务员各个月的业绩,并按业务员编号、月份降序排序。SELECT employee.emp_no as 业务员编号,
employee.emp_name as 业务员名字,MONTH(sales.order_date)as 月份,SUM(sales.tot_amt)as 业绩
From employee, sales
where employee.emp_no=sales.sale_id
GROUPBY employee.emp_no ,employee.emp_name,MONTH(order_date)ORDERBY employee.emp_no,MONTH(order_date)desc;
go
SELECT*FROM sales
GO