From 418f664d0994af7f6bb3cc860090b0e98f9cd1c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=AF=E5=BB=BA=E7=A8=8B?= <1063126776@qq.com> Date: Sat, 18 Mar 2023 13:26:02 +0800 Subject: [PATCH] mysql --- .../20230315 \344\275\234\344\270\232.md" | 99 +++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 "07 \345\206\257\345\273\272\347\250\213/20230315 \344\275\234\344\270\232.md" diff --git "a/07 \345\206\257\345\273\272\347\250\213/20230315 \344\275\234\344\270\232.md" "b/07 \345\206\257\345\273\272\347\250\213/20230315 \344\275\234\344\270\232.md" new file mode 100644 index 0000000..7ff6661 --- /dev/null +++ "b/07 \345\206\257\345\273\272\347\250\213/20230315 \344\275\234\344\270\232.md" @@ -0,0 +1,99 @@ +CREATE DATABASE text charset utf8; +use text; + +CREATE table info( +wuguiNo int PRIMARY KEY auto_increment, +wuguiName VARCHAR(20), +wuguiSex VARCHAR(20), +wuguiAddress VARCHAR(20), +wuguiPrice int +); + +INSERT INTO info VALUES +(null,'周富','母','下水道',1), +(null,'赵敏大美女','公','皇宫',2500000), +(null,'杨梅小公主','母','温州',2500000), +(null,'乌龟大王谢铖浩','男','东海龟宫',1000000000), +(null,'方增兴','公','数据库',250), +(null,'林俊伟','公','花果山',251); + +CREATE table rank( +wuguiNo1 int , +wuguiRank VARCHAR(20), +wuguiWeight INT, +FOREIGN KEY(wuguiNo1) REFERENCES info(wuguiNo) +); + + +INSERT into rank VALUES +(1,'低级',250), +(2,'至尊级',2500), +(3,'高级',500), +(4,'玄武级',60000), +(5,'高级',666), +(6,'高级',500); + + +CREATE table t ( +wuguiType VARCHAR(20), +wuguiNo INT, +FOREIGN KEY (wuguiNo) REFERENCES rank(wuguiNo1) +); + +INSERT into t VALUES +('双面龟',1), +('巴西龟',2), +('蛋龟',3), +('玄武',4), +('巴西龟',5), +('陆龟',6); + + +-- 1.查询出性别为母的乌龟 + +SELECT * from info WHERE wuguiSex = '母'; + +-- --2.查询性别为公的乌龟SELECT * from info WHERE wuguiSex = '公'; + +-- 3.查询出每个乌龟的编号,姓名,性别,住址,价格 + +SELECT * from info; + +-- 4.查询价格大于20000以上的乌龟信息 + +SELECT * FROM info WHERE wuguiPrice >20000; +-- 5.查询出价格低于200的乌龟信息 + +SELECT * FROM info WHERE wuguiPrice <200; + +-- 6.查询不属于公母性别的乌龟 + +SELECT * FROM info WHERE wuguiSex !='公' and wuguiSex !='母'; +-- 7.查询每个乌龟对应的等级 + +SELECT info.*,rank.wuguiRank FROM info JOIN rank ON info.wuguiNo = rank.wuguiNo1 ; + +-- 8.查询出品种相同的乌龟 + +SELECT * FROM t a JOIN t b on a.wuguiNo=b.wuguiNo WHERE a.wuguiType=b.wuguiType and a.wuguiNo != b.wuguiNo; +(SELECT * FROM t JOIN info on w.wuguiNo=t.wuguiNo)as a ; + +-- 9.查询字段wuguiName里面有大的名字 + +SELECT * FROM info WHERE wuguiName LIKE '%大%'; +-- 10.按乌龟的价格进行降序 + +SELECT * FROM info ORDER BY wuguiPrice DESC; +-- 11将乌龟的品种进行去重 + + SELECT DISTINCT wuguiType FROM t ; +-- 12.将rank里面的体重求平均值 + +SELECT AVG(wuguiWeight) FROM rank ; + +-- 13.将info和rank表连接,然后按照rank的体重进行降序,在获取表内的前3行记录 + +SELECT * FROM info i JOIN rank r on i.wuguiNo=r.wuguino1 ORDER BY wuguiWeight DESC LIMIT 3; +-- 14.在13的基础上获取里面乌龟价格最高的数据 + +SELECT * FROM info i JOIN rank r on i.wuguiNo=r.wuguino1 WHERE wuguiPrice in (SELECT max(wuguiPrice) FROM info) ORDER BY wuguiWeight DESC LIMIT 3 ; \ No newline at end of file -- Gitee