以下实验内容基于eshop数据库:
1.查询products表中p_price(商品价格)在800以上的商品详细信息;
2.查询products表中p_quantity(商品数量)在20和50之间的商品编号、商品名称和商品数量;
3.查询orders表中各会员购买商品的总量,并以汉字列标题形式输出会员帐号,商品总量;
4.查询members表中家庭地址为“河南”的会员详细信息;
5.查询members表中年龄大于45且性别为“男”的会员详细信息;
6.查询orders表各商品销售总量前3名的商品编号和销售总量;
7.查询orders表中购买过商品的会员帐号,要求去掉重复行;
8.查询orders表已确认、已支付和已配送的订单详细信息;
9.查询性别为“男”的会员详细信息,查询结果按月薪降序排列;
10.查询全体会员的会员帐号,姓名和年龄并按家庭地址升序排列,同一地址中的会员按年龄降序排列;
11.查询会员帐号为’liuzc’所购买的商品号和订购日期,并按订购日期升序排列;
12.查询购买商品号为’0910810004’的总人数;
13.查询2021年8月6日前,所有商品的订购总量,要求输出商品号和订购总量;
14.查询所有会员的平均月薪,最高月薪和最低月薪;
15.查询所有会员购买商品的种类和,要求输出会员号和商品种类和;
16.查询各类商品的最高购买数量,要求输出最高数量大于10的商品号和最高数量。
1.查询products表中p_price(商品价格)在800以上的商品详细信息;
select *
from products
where p_price>800;
--2.查询products表中p_quantity(商品数量)在20和50之间的商品编号、商品名称和商品数量;
select P_no,P_name,P_quantity
from products
where p_quantity between 20 and 50;
--3.查询orders表中各会员购买商品的总量,并以汉字列标题形式输出会员帐号,商品总量;
select P_no as '会员账号',O_quantity as '商品总额'
from orders;
--4.查询members表中家庭地址为“河南”的会员详细信息;
select M_address as '家庭地址'
from members
where M_address like '河南%';
--5.查询members表中年龄大于45且性别为“男”的会员详细信息;
select *
from members
where M_sex='男';
--6.销售总量前3名的商品编号和销售总量;
use eshop
select top 3 p_no,o_quantity
from orders
order by o_quantity desc
--7.查询orders表中购买过商品的会员帐号,要求去掉重复行;
use eshop
select distinct M_account
from orders;
--8.查询orders表已确认、已支付和已配送的订单详细信息;
use eshop
select *
from orders
where o_confirm_state = '1'
and o_pay_state = '1'
and o_send_state = '1'
--9.查询性别为“男”的会员详细信息,查询结果按月薪降序排列;
select *
from members
where M_sex = '男'
order by M_salary desc
--10.查询全体会员的会员帐号,姓名和年龄并按家庭地址升序排列,同一地址中的会员按年龄降序排列;
use eshop
select M_account,M_name,YEAR(GETDATE())-YEAR(M_birth)
from members
order by M_address,M_birth
--11.查询会员帐号为’liuzc’所购买的商品号和订购日期,并按订购日期升序排列;
use eshop
select P_no,O_date
from orders
where M_account = 'liuzc'
order by O_date
--12.查询购买商品号为’0910810004’的总人数;
select*from orders
use eshop
select count(distinct M_account)
from orders
where P_no ='0910810004'
--13查询2021年8月6日前,所有商品的订购总量,要求输出商品号和订购总量;
use eshop
select P_no,sum(O_quantity)
from orders
where O_date <'2021-08-06'
group by P_no;
--14.查询所有会员的平均月薪,最高月薪和最低月薪;
select avg(M_salary)+max(M_salary)+min(M_salary) as sum
from members
--15.查询所有会员购买商品的种类和,要求输出会员号和商品种类和;
select M_account,count(distinct P_no) as exprl
from orders
group by M_account
--16.查询各类商品的最高购买数量,要求输出最高数量大于10的商品号和最高数量。
select P_no,P_quantity
from products
where (P_quantity > 10)