diff --git "a/09 \346\233\271\346\255\243\346\263\242/20230316 MySQL\346\225\260\346\215\256\345\272\223\350\207\252\345\210\266\347\211\210.md" "b/09 \346\233\271\346\255\243\346\263\242/20230316 MySQL\346\225\260\346\215\256\345\272\223\350\207\252\345\210\266\347\211\210.md" new file mode 100644 index 0000000000000000000000000000000000000000..b8f3e1cfb242af0169fb0288242ba247d7652b11 --- /dev/null +++ "b/09 \346\233\271\346\255\243\346\263\242/20230316 MySQL\346\225\260\346\215\256\345\272\223\350\207\252\345\210\266\347\211\210.md" @@ -0,0 +1,93 @@ +# 作业 + +```mysql +create database aa charset utf8; +use aa; +drop table `user`; +drop table `order`; +create table `user`( +user_id int primary key, +user_name varchar(10), +user_tel varchar(20), +ordertime date +); +desc `user`; +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, +foreign key(user_id) references `user`(user_id), +type varchar(10), +food varchar(10), +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) 最高金额,(select max(price * number)from `order`)总金额 +from `order`; + +-- 5.查询每个顾客分别订购了几个类别。 +select + user_id,type,count(type) +from `order` +group by user_id,type; + +-- 6.查询饮料的总金额 +select + sum(price * number) + from `order` +where type='饮料'; + +-- 7.查询订单表(order)里的订单号,类别(type),食物(food). +select + order_id,type,food +from `order`; + +-- 8.查询没吃饭的人的所有信息 +select + * +from `user` a left join `order` b on + a.user_id=b.user_id +where a.user_id not in (select distinct user_id from `order`) +group by a.user_id; + +-- 9.查询姓老的人的全部信息及订单信息 +select + * +from `user` a left join `order` b on + a.user_id=b.user_id +where a.user_name like '老%'; + +-- 10.查询总金额大于20的订单里最大值的用户信息。 +select + * +from `user` a left join `order` b on + a.user_id=b.user_id +where price * number in (select max(price * number) from `order`) and price * number>20; +``` +