一、实验项目:
二、实验目的
掌握MySQL的查询操作。
三、实验内容
(一):
1、查询lineitem表中商品编号(productid)和单价(unitprice),要求消除重复行。
select distinct productid, unitprice from lineitem;
2、计算lineitem表中每条记录的商品金额。
select unitprice*quantity from lineitem;
3、显示orders表单笔高于200元的客户号(userid)、成交金额(totalprice)和订单状态(status)。
select userid,totalprice,status from orders where totalprice >200;
4、查询orders表中2013年4月份的所有订单。
select * from orders where year(orderdate)=2013 and month(orderdate)=4;
5、查询account表中姓吴的客户信息。
select * from account where fullname like "吴%";
6、查询orders表成交总额200元-500元的订单信息。
select * from orders where totalprice between 200 and 500;
7、查询product表中商品编号(productid)倒数第4个标号为W的商品信息。
select * from product where productid like "%W___";
8、将orders表按客户号从小到大排序,客户号相同的按订购日期从大到小排序。
select * from orders order by userid,orderdate desc;
9、按性别统计客户人数。
select sex,count(*) from account group by sex;
10、显示lineitem表中商品的购买总数量超过2件的商品编号和购买总数量,并按购买总数量从小到大排序。
1. select productid,sum(quantity) from lineitem 2. group by productid having sum(quantity)>2 3. order by sum(quantity);
(二):
1、查询lineitem表中订单编号、商品名称和购买数量。
1. select orderid,quantity,name from product,lineitem 2. where lineitem.productid=product.productid;
2、显示orders表单笔高于300元的客户名和订单总价。
1. select fullname,totalprice from orders,account 2. where totalprice>300 and orders.userid=account.userid;
3、查询“刘晓和”的基本情况和订单情况。
1. select * from orders,account 2. where fullname='刘晓和' and orders.userid=account.userid;
4、统计2013年5月以前订购了商品的女客户姓名和订购总额。
1. select sum(totalprice),fullname from orders,account 2. where sex= '女' and orderdate<'20130501' and orders.userid=account.userid 3. group by account.userid;
5、查找购买了商品编号为FI-SW-02的订单号、客户号和订购日期。
1. select orders.orderid,userid,orderdate from orders,lineitem 2. where productid='FI-SW-02'and orders.orderid=lineitem.orderid;
6、查询已经被购买过的商品信息。(使用IN关键字的子查询实现)
SELECT * FROM product WHERE productid IN(SELECT productid FROM lineitem);
7、查询已经被购买过的商品信息。(使用EXISTS关键字的子查询实现)
1. SELECT * FROM product WHERE EXISTS 2. (SELECT * FROM lineitem WHERE lineitem.productid=product.productid);
8、查询比类别编号为01的最低库存量都高的全部商品信息。(使用子查询实现)
1. SELECT * FROM product WHERE qty > ANY 2. (SELECT qty FROM product WHERE catid= '01');
9、查询比类别编号为01的最高库存量都高的全部商品信息。(使用子查询实现)
1. SELECT * FROM product WHERE qty > ALL 2. (SELECT qty FROM product WHERE catid= '01');
10、查询购买了天使鱼的客户名称。
1. select fullname from account,product,orders,lineitem 2. Where orders.userid=account.userid and orders.orderid=lineitem.orderid 3. And lineitem.productid=product.productid and name='天使鱼'