diff --git "a/08 \345\256\230\346\226\207\350\257\232/2023.03.1 \345\205\263\350\201\224\346\237\245\350\257\242.md" "b/08 \345\256\230\346\226\207\350\257\232/20230301 \345\205\263\350\201\224\346\237\245\350\257\242.md" similarity index 100% rename from "08 \345\256\230\346\226\207\350\257\232/2023.03.1 \345\205\263\350\201\224\346\237\245\350\257\242.md" rename to "08 \345\256\230\346\226\207\350\257\232/20230301 \345\205\263\350\201\224\346\237\245\350\257\242.md" diff --git "a/08 \345\256\230\346\226\207\350\257\232/20230316\344\275\234\344\270\232.md" "b/08 \345\256\230\346\226\207\350\257\232/20230316\344\275\234\344\270\232.md" new file mode 100644 index 0000000000000000000000000000000000000000..6988e1cb3a2457f7c87a4fbc335aee24191f6d8c --- /dev/null +++ "b/08 \345\256\230\346\226\207\350\257\232/20230316\344\275\234\344\270\232.md" @@ -0,0 +1,159 @@ +| 用户表(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 | + +建表 + + + +根据上表所给信息完成下列题目: + +~~~ sql +-- 创建库 +CREATE DATABASE zyy charset utf8; +use zyy; + +-- 建表 +-- 1 + +CREATE TABLE `user`( + user_id int PRIMARY key, + user_name varchar(20), + user_tel varchar(20), + ordertime date +); + +-- 2 + +CREATE TABLE `order`( + order_id int, + user_id int, + type VARCHAR(20), + food VARCHAR(20), + number int, + price int, + FOREIGN KEY (user_id) REFERENCES `user`(user_id) +); + +-- 插入数据 +-- 1 + +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); + +-- 2 + +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 = '88888888888' +WHERE + user_name = '老八'; + + -- 4.查询order表里的最高金额和总金额。 + +SELECT + max( price ) 最高金额,sum( price ) 总金额 +FROM + `order`; + +-- 5.查询每个顾客分别订购了几个类别。 +SELECT + type,a.user_name +FROM + `user` a + LEFT JOIN `order` b ON a.user_id = b.user_id; + +-- 6.查询饮料的总金额 +SELECT + sum( price ) +FROM + `order` +WHERE + type = '饮料'; + +-- 7.查询订单表(order)里的订单号,类别(type),食物(food). +SELECT + type,food +FROM + `order`; + +-- 8.查询没吃饭的人的所有信息 +SELECT + a.* +FROM + `user` a + LEFT JOIN `order` b ON a.user_id = b.user_id +WHERE + b.user_id IS NULL; + +-- 9.查询姓老的人的全部信息及订单信息 +SELECT + * +FROM + `user` a + LEFT JOIN `order` b ON a.user_id = b.user_id +WHERE + a.user_name LIKE '老%'; + +-- 10.查询总金额大于20的订单里最大值的用户信息,使用降序排列。 +SELECT + a.* +FROM + `user` a + LEFT JOIN `order` b ON a.user_id = b.user_id +WHERE + price > 20 + AND price =( + SELECT + max( price ) + FROM + `order` + ) +ORDER BY + price DESC; +~~~ + diff --git "a/08 \345\256\230\346\226\207\350\257\232/\347\254\254\345\205\253\347\273\204.zip" "b/08 \345\256\230\346\226\207\350\257\232/\347\254\254\345\205\253\347\273\204.zip" new file mode 100644 index 0000000000000000000000000000000000000000..be9c0b53aeeaba8acfe553e9a5bfb1f2978580fe Binary files /dev/null and "b/08 \345\256\230\346\226\207\350\257\232/\347\254\254\345\205\253\347\273\204.zip" differ