diff --git "a/54 \345\217\266\345\255\220\350\261\252/mysql\347\254\254\345\205\255\346\254\241\344\275\234\344\270\232.md" "b/54 \345\217\266\345\255\220\350\261\252/mysql\347\254\254\345\205\255\346\254\241\344\275\234\344\270\232.md" new file mode 100644 index 0000000000000000000000000000000000000000..366b4b0b8287c5eb86f116854b75e40aa3037421 --- /dev/null +++ "b/54 \345\217\266\345\255\220\350\261\252/mysql\347\254\254\345\205\255\346\254\241\344\275\234\344\270\232.md" @@ -0,0 +1,111 @@ +| 用户表(user) | | | | | | +| --------------- | --------- | ----------- | ------------ | ------ | ----- | +| user_id | user_name | user_tel | ordertime | | | +| 1 | 张三 | 19865645691 | 2023-3-13 | | | +| 2 | 李四 | 12345675691 | 2023-3-13 | | | +| 3 | 王五 | 12895678901 | 2023-3-13 | | | +| 4 | 老六 | 12345678691 | 2023-3-14 | | | +| 5 | 小七 | 18945678031 | | | | +| 6 | 老八 | 19345678561 | 2023-3-16 | | | +| 7 | 朱九 | 15845679911 | | | | +| 订单表(order) | | | | | | +| order_id | uesr_id | type | food | number | price | +| 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 | + +建表 + +```mysql +CREATE DATABASE wmm CHARSET utf8; +use wmm; +CREATE TABLE `user`( +user_id INT, +user_name VARCHAR(20), +user_tel VARCHAR(20), +ordertime DATE +); + +CREATE TABLE `order`( +order_id INT, +user_id INT, +type VARCHAR(20), +food VARCHAR(20), +number INT, +price INT +); +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。 + +```mysql +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.查询每个顾客分别订购了几个类别。 + +```mysql +SELECT *FROM `user` a LEFT JOIN `order` b on a.user_id = b.user_id; +``` + +-- 6.查询饮料的总金额 + +```mysql +SELECT SUM(price) FROM `order` WHERE type='饮料'; +``` + +-- 7.查询订单表(order)里的订单号,类别(type),食物(food). + +```mysql +SELECT type,food FROM `order` GROUP BY type='food'; +``` + +-- 8.查询没吃饭的人的所有信息 + +```mysql +SELECT *FROM `user` a LEFT JOIN `order` b on a.user_id = b.user_id WHERE b.user_id is NULL; +``` + +-- 9.查询姓老的人的全部信息及订单信息 + +```mysql +SELECT *FROM `user` a LEFT JOIN `order` b on a.user_id = b.user_id WHERE a.user_name like '老%'; +``` + +-- 10.查询总金额大于20的订单里最大值的用户信息,使用降序排列。 + +```mysql +SELECT a.* FROM `user` a LEFT JOIN `order` b on a.user_id = b.user_id WHERE b.price >20 ORDER BY price DESC; +``` +