From 1853f545e686c6083443b3e4b32f9fa72a3b0e80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B2=88=E6=99=93=E7=90=B3?= <2115152499@qq.com> Date: Sat, 11 Mar 2023 20:27:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20230309 \344\275\234\344\270\232.md" | 106 ++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 "29 \346\262\210\346\231\223\347\220\263/20230309 \344\275\234\344\270\232.md" diff --git "a/29 \346\262\210\346\231\223\347\220\263/20230309 \344\275\234\344\270\232.md" "b/29 \346\262\210\346\231\223\347\220\263/20230309 \344\275\234\344\270\232.md" new file mode 100644 index 0000000..990d5a3 --- /dev/null +++ "b/29 \346\262\210\346\231\223\347\220\263/20230309 \344\275\234\344\270\232.md" @@ -0,0 +1,106 @@ +```sql +CREATE DATABASE school charset utf8; +use school; +CREATE table stuinfo( +stuno VARCHAR(20), +stuname VARCHAR(10), +stuage int,stuaddress VARCHAR(20), +stuseat int, +stusex char(2)); +CREATE table stuexam( +examno int, +stuno VARCHAR(20), +writtenexam FLOAT, +labexam FLOAT); +INSERT into stuinfo VALUES +('s2501','张秋利',20,'美国硅谷',1,1), +('s2502','李斯文',18,'湖北武汉',2,0), +('s2503','马文才',22,'湖南长沙',3,1), +('s2504','欧阳俊雄',21,'湖北武汉',4,0), +('s2505','梅超风',20,'湖北武汉',5,1), +('s2506','陈旋风',19,'美国硅谷',6,1), +('s2507','陈风',20,'美国硅谷',7,0); +INSERT into stuexam VALUES +(1,'s2501',50,70), +(2,'s2502',60,65), +(3,'s2503',86,85), +(4,'s2504',40,80), +(5,'s2505',70,90), +(6,'s2506',85,90); + +-- 1.查询学生信息表(stuinfo)中所有列信息,给每列取上中文名称 +-- +SELECT stuno 学号,stuname 名字,stuage 年龄,stuaddress 地址,stuseat 座号,stusex 性别 from stuinfo; +-- 2.查询学生信息表(stuinfo)中的姓名,年龄和地址三列的信息 +-- +SELECT stuname,stuage,stuaddress from stuinfo; +-- 3.查询学生分数表(stuexam)中的学号,笔试和机试三列的信息,并为这三列取中文名字 +-- +SELECT stuno 学号,writtenexam 笔试,labexam 机试 from stuexam; +-- 5.查询学生分数表(stuexam)中的学生的学号,笔试,机试以及总分这四列的信息 +-- +SELECT stuno,writtenexam,labexam,writtenexam + labexam from stuexam; +-- 6.查询学生信息表(stuInfo)中学生来自哪几个地方 +-- +SELECT DISTINCT stuaddress from stuinfo; +-- 7.查询学生信息表(stuInfo)中学生有哪几种年龄,并为该列取对应的中文列名 +-- +SELECT DISTINCT stuage 年龄 from stuinfo; +-- 8.查询学生信息表(stuInfo)中前3行记录 +-- +SELECT * from stuinfo LIMIT 3; +-- 9.查询学生信息表(stuInfo)中前4个学生的姓名和座位号 +-- +SELECT stuname,stuseat from stuinfo LIMIT 4; +-- 11.将地址是湖北武汉,年龄是20的学生的所有信息查询出来 +-- +SELECT * from stuinfo where stuaddress='湖北武汉' and stuage=20; +-- 12.将机试成绩在60-80之间的信息查询出来,并按照机试成绩降序排列 +-- +SELECT * from stuexam where labexam BETWEEN 60 and 80 ORDER BY labexam desc; +-- 13.查询来自湖北武汉或者湖南长沙的学生的所有信息 +-- +SELECT * from stuinfo where stuaddress='湖北武汉' or stuaddress='湖南长沙'; +-- 14.查询出笔试成绩不在70-90之间的信息,并按照笔试成绩升序排列 +-- +SELECT * from stuexam where writtenexam not BETWEEN 70 and 90 ORDER BY writtenexam asc; +-- 15.查询年龄没有写的学生所有信息 +-- +SELECT * from stuinfo where stuage is null; +-- 16.查询年龄写了的学生所有信息 +-- +SELECT * from stuinfo where stuage is not null; +-- 17.查询姓张的学生信息 +-- +SELECT * from stuinfo where stuname like '张%'; +-- 18.查询学生地址中有‘湖’字的信息 +SELECT * from stuinfo where stuaddress like '%湖%'; +-- +-- 19.查询姓张但名为一个字的学生信息 +-- +SELECT * from stuinfo where stuname like '张_'; +-- 20.查询姓名中第三个字为‘俊’的学生的信息,‘俊’后面有多少个字不限制 +-- +SELECT * from stuinfo where stuname like '__俊%'; +-- 21.按学生的年龄降序显示所有学生信息 +-- +SELECT * from stuinfo ORDER BY stuage desc; +-- 22.按学生的年龄降序和座位号升序来显示所有学生的信息 +-- +SELECT * from stuinfo ORDER BY stuage desc,stuseat asc; +-- 23显示笔试第一名的学生的考试号,学号,笔试成绩和机试成绩 +-- +SELECT * from stuexam where writtenexam=(SELECT max(writtenexam) from stuexam); +-- 24.显示机试倒数第一名的学生的考试号,学号,笔试成绩和机试成绩 +-- +SELECT * from stuexam where writtenexam=(SELECT min(writtenexam) from stuexam); +-- 25.查询每个地方的学生的平均年龄 +-- +SELECT stuaddress,avg(stuage) from stuinfo GROUP BY stuaddress; +-- 26.查询男女生的分别的年龄总和 +-- +SELECT stusex,sum(stuage) from stuinfo GROUP BY stusex; +-- 27.查询每个地方的男女生的平均年龄和年龄的总和 +SELECT DISTINCT avg(stuage),sum(stuage) from stuinfo GROUP BY stusex,stuaddress; +``` + -- Gitee