diff --git "a/01\351\231\210\346\242\246\346\242\246/20230317.md" "b/01\351\231\210\346\242\246\346\242\246/20230317.md" new file mode 100644 index 0000000000000000000000000000000000000000..bc7b3c4ebaf8f8cf80f47ea9f41551808d7506f8 --- /dev/null +++ "b/01\351\231\210\346\242\246\346\242\246/20230317.md" @@ -0,0 +1,56 @@ +```mysql +drop database if exists a; +create database a charset utf8; +use a; +create table `user` ( + user_id int, + user_name varchar(20), + user_tel char(11), + ordertime date +); +insert into `user` values + (1,'张三 ', '19865645691','2023-3-13'), + (2,'李四 ', '12345675691','2023-3-13'), + (3,'王五 ', '12895678901','2023-3-13'), + (4,'老六 ', '12345678691','2023-3-14'), + (5,'小七 ', '18945678031',null), + (6,'老八 ', '19345678561','2023-3-16'), + (7,'朱九 ', '15845679911',null); +create table `order`( + order_id int, + user_id int, + type varchar(20), + food varchar(20), + number int, + price int +); +insert into `order` values + (1,1,'快餐 ','肯德基全家桶',1,50), + (2,1,'快餐 ','可乐 ',4,20), + (3,6,'饮料 ','柠檬水 ',2,16), + (4,2,'米饭 ','鱼香肉丝盖饭',5,60), + (5,2,'饮料 ','珍珠奶茶 ',3,22), + (6,3,'粉面类','螺蛳粉 ',4,28), + (7,4,'粉面类','凉拌面 ',1,10); +-- 1.在用户表(user)新增一个性别字段user_sex,数据类型为char。 +alter table `user` add user_sex char; +-- 2.由于顾客3退单,请把此订单删除。 +delete from `order` where user_id=3; +-- 3.老八的电话号码换新了,请将他的号码更新为8888888888。 +update `user` set user_tel='8888888888' where user_name='老八'; +-- 4.查询order表里的最高金额和总金额。 +select max(price),sum(price) from `order`; +-- 5.查询每个顾客分别订购了几个类别。 +select user_name,count(type) from `user` left join (select distinct user_id,type from `order`) a on a.user_id=`user`.user_id group by user_name; +-- 6.查询饮料的总金额 +select sum(price)*sum(number) from `order` where type='饮料'; +-- 7.查询订单表(order)里的订单号,类别(type),食物(food). +select order_id 订单号,type 类别,food 食物 from `order` ; +-- 8.查询没吃饭的人的所有信息 +select `user`.* from `user` left join `order` on `order`.user_id=`user`.user_id where `order`.user_id is null; +-- 9.查询姓老的人的全部信息及订单信息 + select * from `user` left join `order` on `order`.user_id=`user`.user_id where user_name like '老%'; +-- 10.查询总金额大于20的订单里最大值的用户信息,使用降序排列。 +select user_id 用户,sum(price)*sum(number) 总金额 from `order` group by user_id having sum(price)*sum(number)>20 order by sum(price)*sum(number) desc; +``` +