diff --git "a/12 \346\236\227\344\277\212\344\274\237/20230317 MySQL\347\254\254\345\205\253\346\254\241\344\275\234\344\270\232.md" "b/12 \346\236\227\344\277\212\344\274\237/20230317 MySQL\347\254\254\345\205\253\346\254\241\344\275\234\344\270\232.md" new file mode 100644 index 0000000000000000000000000000000000000000..82d281b205957c6e267288f1a00bf8dd6b3cc77b --- /dev/null +++ "b/12 \346\236\227\344\277\212\344\274\237/20230317 MySQL\347\254\254\345\205\253\346\254\241\344\275\234\344\270\232.md" @@ -0,0 +1,49 @@ +CREATE DATABASE zy17 charset utf8; +USE zy17; +CREATE TABLE `user` ( user_id INT, user_name VARCHAR ( 10 ), user_tel INT, ordertime DATE ); +CREATE TABLE `order` ( order_id INT, user_id INT, type VARCHAR ( 10 ), food VARCHAR ( 10 ), number INT, price INT ); +ALTER TABLE `user` MODIFY user_tel VARCHAR ( 20 ); +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 ); +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 `user` where user_id = 3; +DELETE from `order` where order_id = 3; +-- 3.老八的电话号码换新了,请将他的号码更新为8888888888。 +UPDATE `user` set user_tel = 8888888888 where user_id = 6; +-- 4.查询order表里的最高金额和总金额。 +SELECT max(price) as 最高,sum(price) as 总数 FROM `order`; +-- 5.查询每个顾客分别订购了几个类别。 +SELECT user_name,type,food from `user`a left JOIN `order`b on a.user_id=b.order_id +where b.user_id is not null; +-- 6.查询饮料的总金额 +SELECT type,sum(price * number )总金额 FROM `order` where type = '饮料'; +-- 7.查询订单表(order)里的订单号,类别(type),食物(food). +SELECT order_id,type,food FROM `order`; +-- 8.查询没吃饭的人的所有信息 +SELECT * FROM `user` WHERE ordertime is null; +-- 9.查询姓老的人的全部信息及订单信息 +SELECT * FROM `user`a left JOIN `order`b on a.user_id=b.order_id +WHERE 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 > 20; \ No newline at end of file