diff --git "a/10 \347\253\240\347\254\221\345\256\271/20230309 \346\237\245\350\257\242\344\275\234\344\270\232.md" "b/10 \347\253\240\347\254\221\345\256\271/20230309 \346\237\245\350\257\242\344\275\234\344\270\232.md" new file mode 100644 index 0000000000000000000000000000000000000000..4eba5b50c996418ba82d46feae99da30b08e9ffb --- /dev/null +++ "b/10 \347\253\240\347\254\221\345\256\271/20230309 \346\237\245\350\257\242\344\275\234\344\270\232.md" @@ -0,0 +1,89 @@ +# 1、作业 + +```sql +create database stu charset utf8; +use stu; +-- 按图片所给的数据进行数据表的建立和数据插入,然后进行以下查询操作 +create table stuinfo( + stuno varchar(10), + stuname varchar(5), + stuage varchar(5), + stuaddress varchar(10), + stuseat int, + stusex enum('1','0') +); +create table stuexam( + examno int, + stuno varchar(10), + whitenexam varchar(5), + labexam varchar(5) +); +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','70'), + (4,'s2504','40','80'), + (5,'s2505','70','85'), + (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 学号,whitenexam 笔试,labexam 机试 from stuexam; +-- 5.查询学生分数表(stuexam)中的学生的学号,笔试,机试以及总分这四列的信息 +select stuno 学号,whitenexam 笔试,labexam 机试,whitenexam + labexam 总分 from stuexam; +-- 6.查询学生信息表(stuInfo)中学生来自哪几个地方 +select distinct stuaddress from stuinfo; +-- 7.查询学生信息表(stuInfo)中学生有哪几种年龄,并为该列取对应的中文列名 +select distinct stuage 年龄 from stuinfo; +-- 8.查询学生信息表(stuInfo)中前3行记录 +select * from stuinfo where stuseat < 4; +-- 9.查询学生信息表(stuInfo)中前4个学生的姓名和座位号 +select stuname 姓名,stuseat 座位号 from stuinfo where stuseat < 5; +-- 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 in ('湖北武汉','湖南长沙'); +-- 14.查询出笔试成绩不在70-90之间的信息,并按照笔试成绩升序排列 +select * from stuexam where whitenexam not between 70 and 90 order by whitenexam; +-- 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; +-- 23显示笔试第一名的学生的考试号,学号,笔试成绩和机试成绩 +select examno 考试号,stuno 学号,whitenexam 笔试成绩,labexam 机试成绩 from stuexam where whitenexam = ( +select max(whitenexam) from stuexam); +-- 24.显示机试倒数第一名的学生的考试号,学号,笔试成绩和机试成绩 +select examno 考试号,stuno 学号,whitenexam 笔试成绩,labexam 机试成绩 from stuexam where whitenexam = ( +select min(whitenexam) from stuexam); +-- 25.查询每个地方的学生的平均年龄 +select stuaddress 地方,avg(stuage) 平均年龄 from stuinfo group by stuaddress; +-- 26.查询男女生的分别的年龄总和 +select stusex 性别,sum(stuage) 年龄总和 from stuinfo group by stusex; +-- 27.查询每个地方的男女生的平均年龄和年龄的总和 +select stuaddress 地址,stusex 性别,avg(stuage) 平均年龄,sum(stuage) 年龄总和 from stuinfo group by stuaddress,stusex; +``` + diff --git "a/10 \347\253\240\347\254\221\345\256\271/MySQL.xmind" "b/10 \347\253\240\347\254\221\345\256\271/MySQL.xmind" new file mode 100644 index 0000000000000000000000000000000000000000..1dcf0a5e18f905a7aabbe01aaba84077690f7381 Binary files /dev/null and "b/10 \347\253\240\347\254\221\345\256\271/MySQL.xmind" differ