加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
SQLQuery03.sql 4.95 KB
一键复制 编辑 原始数据 按行查看 历史
李武文 提交于 2023-03-08 08:26 . 第七次作业(新)
create database hk;
use hk
go
--创建班级表
create table class(
classid int identity primary key,
classname nvarchar(50) not null,
);
go
--创建学生信息表
create table studends(
studNO varchar(10) primary key not null,
stuName nvarchar(max),
stuAge tinyint,
stuAddress nvarchar(max),
stuSeat int,
stusex nvarchar(max) default 3,
);
go
select*from studends;
--插入数据
insert into studends(studNO,stuName, stuAge, stuAddress, stuSeat, stusex)
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);
select*from studends;
go
create table Exam(
examNO int primary key identity,
writtenExam nvarchar(50),
labWxam nvarchar(50),
stuNO nvarchar(100),
);
go
insert into Exam(stuNO, writtenExam, labWxam)
values
('s2501',50,70),
('s2502',60,65),
('s2503',86,85),
('s2504',40,80),
('s2505',70,90),
('s2506',85,90);
select examNO,stuNO,writtenExam,labWxam from Exam;
go
--studends
--Exam
--1.查询学生信息表(stuinfo)中所有列信息,给每列取上中文名称
select studNO 学号,stuName 学生姓名,stuAge 学生年龄,stuAddress 学生地址, stuseat 座位,stusex 学生性别 from studends;
--2.查询学生信息表(stuinfo)中的姓名,年龄和地址三列的信息
select stuName,stuAge,stuAddress from studends;
--3.查询学生分数表(stuexam)中的学号,笔试和机试三列的信息,并为这三列取中文名字
--注意:要用三种方法
select stuno,writtenExam,labwxam from Exam;
--方法一:
select stuno 学号,writtenExam 笔试,labwxam 机试 from Exam;
--方法二:
select stuno as 学号,writtenExam as 笔试,labwxam as 机试 from Exam;
--方法三:
select 学号=stuno,笔试=writtenExam,机试=labwxam from Exam;
--4.查询学生信息表(stuInfo)中的学号,姓名,地址,以及将:姓名+@+地址 组成新列 “邮箱”
select studNo, stuname,stuaddress,stuname+'@'+stuaddress 邮箱 from studends;
--5.查询学生分数表(stuexam)中的学生的学号,笔试,机试以及总分这四列的信息
select stuno 学号,writtenExam 笔试,labwxam 机试,writtenExam+labwxam 总分 from Exam;
--6.查询学生信息表(stuInfo)中学生来自哪几个地方
select distinct stuaddress from studends;
--7.查询学生信息表(stuInfo)中学生有哪几种年龄,并为该列取对应的中文列名
select distinct stuage 年龄 from studends;
--8.查询学生信息表(stuInfo)中前3行记录
select top 3*from studends;
--9.查询学生信息表(stuInfo)中前4个学生的姓名和座位号
select top 4 stuname,stuseat from studends ;
--10.查询学生信息表(stuInfo)中一半学生的信息
select top 50 percent*from studends ;
--11.将地址是湖北武汉,年龄是20的学生的所有信息查询出来
select * from studends where stuAddress='湖北武汉' and stuAge=2
--12.将机试成绩在60-80之间的信息查询出来,并按照机试成绩降序排列(用两种方法实现)
select * from Exam where labwxam between 60 and 80 order by labwxam desc
select * from Exam where labwxam >= 60 and labwxam <=80 order by labwxam desc
--13.查询来自湖北武汉或者湖南长沙的学生的所有信息(用两种方法实现)
select * from studends where stuAddress ='湖北武汉' or stuAddress ='湖南长沙'
select * from studends where stuAddress between '湖北武汉' and '湖南长沙'
--14.查询出笔试成绩不在70-90之间的信息,并按照笔试成绩升序排列(用两种方法实现)
select * from Exam where writtenExam <70 and writtenExam <90 order by writtenExam asc
select * from Exam where writtenExam not between 70 and 90 order by writtenExam asc
--15.查询年龄没有写的学生所有信息
select * from studends where stuAge is null or stuAge=''
--16.查询年龄写了的学生所有信息
select * from studends where stuAge is not null
--17.查询姓张的学生信息
select * from studends where stuName like '张%'
--18.查询学生地址中有‘湖’字的信息
select * from studends where stuAddress like '%湖%'
--19.查询姓张但名为一个字的学生信息
select * from studends
select * from studends where stuName like '张_'
--20.查询姓名中第三个字为‘俊’的学生的信息,‘俊’后面有多少个字不限制
select * from studends where stuName like '__俊%'
--21.按学生的年龄降序显示所有学生信息
select * from studends order by stuAge desc
--22.按学生的年龄降序和座位号升序来显示所有学生的信息
select * from studends order by stuAge desc,stuSeat asc
--23.显示笔试第一名的学生的考试号,学号,笔试成绩和机试成绩
select * from Exam
select * from Exam where writtenExam=(select max(writtenExam) from exam)
--24.显示机试倒数第一名的学生的考试号,学号,笔试成绩和机试成绩
select * from Exam
select * from Exam where labwxam=(select min(labwxam) from exam)
--25.查询每个地方的学生的平均年龄
select * from studends
select stuAddress,avg(stuAge) as 平均年龄 from studends
group by stuAddress
--26.查询男女生的分别的年龄总和
select * from studends
select stuSex,sum(stuAge) as 年龄总和 from studends
group by stuSex
--27.查询每个地方的男女生的平均年龄和年龄的总和
select * from studends
select stuAddress,stuSex,avg(stuAge) as 平均年龄,sum(stuAge) as 年龄总和 from studends
group by stuAddress,stuSex
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化