diff --git "a/07 \351\231\210\346\235\260/20230309 \344\275\234\344\270\2321.md" "b/07 \351\231\210\346\235\260/20230309 \344\275\234\344\270\2321.md" new file mode 100644 index 0000000000000000000000000000000000000000..bb2571f0a08f058fefffbb78c42ac4c5e502a0e1 --- /dev/null +++ "b/07 \351\231\210\346\235\260/20230309 \344\275\234\344\270\2321.md" @@ -0,0 +1,182 @@ +# 作业 + +``` +create database a1 charset utf8; + +use a1; + +create table stuinfo( + +stuNO varchar(5), + +stuName varchar(10), + +stuAge int, + +stuAddress varchar(10), + +stuSeat int, + +stuSex enum('1','0') + +); + + + +create table stuExam( + +examNO int , + +stuNO varchar(5), + +labExam int, + +writtenExam int + +); + + + + + +insert into stuinfo values + + ('s2501','张秋利',20,'美国硅谷',1,'1'), + + ('s2502','李斯文',18,'湖北武汉',2,'0'), + + ('s2503','马文才',18,'湖南长沙',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,95), + + (6,'s2506',85,90); + + + + + +select * from stuinfo; + +-- 1.查询学生信息表(stuinfo)中所有列信息,给每列取上中文名称 + +select stuNO 学号,stuName 姓名,stuSex 性别,stuAge 年龄,stuAddress 地址,stuSeat 座位号 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 stuName,stuAddress from stuinfo ; + +-- 7.查询学生信息表(stuInfo)中学生有哪几种年龄,并为该列取对应的中文列名 + +select stuAge 年龄 from stuInfo GROUP BY stuAge; + +-- 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 labExam from stuexam where labExam between 60 and 80 ORDER BY labExam desc; + +-- 13.查询来自湖北武汉或者湖南长沙的学生的所有信息 + +select * from stuInfo where stuAddress ="湖北武汉" or stuAddress ="湖南长沙"; + +-- 14.查询出笔试成绩不在70-90之间的信息,并按照笔试成绩升序排列 + +select writtenExam from stuexam where writtenExam not between 70 and 90 ORDER BY writtenExam; + +-- 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,writtenExam,labExam from stuExam where writtenExam= (select max(writtenExam) from stuExam); + +-- 24.显示机试倒数第一名的学生的考试号,学号,笔试成绩和机试成绩 + +select examNO,stuNO,writtenExam,labExam 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 stuSex,stuAddress,avg(stuAge),sum(stuAge) from stuInfo GROUP BY stuSex,stuAddress; +``` + diff --git "a/07 \351\231\210\346\235\260/\344\275\234\344\270\232\347\250\277.txt" "b/07 \351\231\210\346\235\260/\344\275\234\344\270\232\347\250\277.txt" new file mode 100644 index 0000000000000000000000000000000000000000..d463f275494ffe0da7d04d788710623139f18c20 --- /dev/null +++ "b/07 \351\231\210\346\235\260/\344\275\234\344\270\232\347\250\277.txt" @@ -0,0 +1,109 @@ +create database a1 charset utf8; + +use a1; + +create table stuinfo( +stuNO varchar(5), +stuName varchar(10), +stuSex enum('男','女'), +stuAge int, +stuAddress varchar(10), +stuSeat int +); + +create table stuExam( +examNO int , +stuNO varchar(5), +labExam int, +writtenExam int +); + +create table stuMarks( +examNO int, +stuID varchar(5), +score int +); + +insert into stuinfo values + ('s2501','张秋利','男',20,'美国硅谷',1), + ('s2502','李斯文','女',18,'湖北武汉',2), + ('s2503','马文才','男',18,'湖南长沙',3), + ('s2504','欧阳俊雄','女',21,'湖北武汉',4), + ('s2505','梅超风','男',20,'湖北武汉',5), + ('s2506','陈旋风','男',19,'美国硅谷',6); + +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); + +insert into stuMarks values + (1,'s2501',88), + (2,'s2501',92), + (3,'s2501',53), + (4,'s2502',60), + (5,'s2502',99), + (6,'s2503',82); + +select * from stuinfo; +-- 1.查询学生信息表(stuinfo)中所有列信息,给每列取上中文名称 +select stuNO 学号,stuName 姓名,stuSex 性别,stuAge 年龄,stuAddress 地址,stuSeat 座位号 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 stuName,stuAddress from stuinfo ; + +-- 7.查询学生信息表(stuInfo)中学生有哪几种年龄,并为该列取对应的中文列名 +select stuAge 年龄 from stuInfo GROUP BY stuAge; +-- 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 labExam from stuexam where labExam between 60 and 80 ORDER BY labExam desc; +-- 13.查询来自湖北武汉或者湖南长沙的学生的所有信息 +select * from stuInfo where stuAddress ="湖北武汉" or stuAddress ="湖南长沙"; + +-- 14.查询出笔试成绩不在70-90之间的信息,并按照笔试成绩升序排列 +select writtenExam from stuexam where writtenExam not between 70 and 90 ORDER BY writtenExam; + +-- 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.查询学生地址中有‘湖’字的信息 + +-- 19.查询姓张但名为一个字的学生信息 +-- +-- 20.查询姓名中第三个字为‘俊’的学生的信息,‘俊’后面有多少个字不限制 +-- +-- 21.按学生的年龄降序显示所有学生信息 +-- +-- 22.按学生的年龄降序和座位号升序来显示所有学生的信息 +-- +-- 23显示笔试第一名的学生的考试号,学号,笔试成绩和机试成绩 +-- +-- 24.显示机试倒数第一名的学生的考试号,学号,笔试成绩和机试成绩 +-- +-- 25.查询每个地方的学生的平均年龄 +-- +-- 26.查询男女生的分别的年龄总和 +-- +-- 27.查询每个地方的男女生的平均年龄和年龄的总和 +--