Sql 语法练习

Posted Cgrain

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sql 语法练习相关的知识,希望对你有一定的参考价值。

---------------------查询练习使用的数据库和表-------------------
--创建数据库
create database StuInfo
go
--创建班级信息表
use StuInfo
go
create table Class
(
ClassID varchar(10) primary key,  --班级编号
ClassType varchar(10),  --班级类型
ClassDate datetime  --开班日期
)
go
--创建学生信息表
create table Student
(StuID int primary key,
StuName varchar(10),
StuAge int,
StuSex varchar(5),
StuAddress varchar(30),
StuPhone varchar(12),
ClassID varchar(10) foreign key references Class(ClassID)
)
go

--创建科目信息表
create table Subject
(
    SubId int primary key,
    SubName varchar(20)
)
go

--创建成绩信息表
create table Score
(
StuID int foreign key references Student(StuID),
SubId int foreign key references Subject(SubId),
Marks float
)
go

-------插入测试数据
insert into Class values(S1T21,脱产,2009-03-12)
insert into Class values(S1T22,脱产,2010-04-24)
insert into Class values(S1T23,脱产,2012-05-27)
insert into Class values(S1T24,周末,2010-06-10)
insert into Class values(S1T25,脱产,2008-07-11)
insert into Class values(S1T26,脱产,2009-08-13)
insert into Class values(S1T27,周末,2008-09-17)
insert into Class values(S1T28,脱产,2010-10-25)
insert into Class values(S1T29,脱产,2011-11-21)
insert into Class values(S1T30,脱产,2010-12-22)
go

insert into Student values(101,张三,21,,湖北襄樊,13323212322,S1T27)
insert into Student values(102,李四,23,,湖北恩施,13575574545,S1T23)
insert into Student values(103,黄英,22,,湖北宜昌,13326887578,S1T27)
insert into Student values(104,月月,25,,湖北荆州,15829967554,S1T24)
insert into Student values(105,王昆,26,,湖北襄樊,13907800774,S1T23)
insert into Student values(106,阳光,17,,湖北恩施,13134365788,S1T28)
insert into Student values(107,石头,29,,湖北宜昌,13578369966,S1T26)
insert into Student values(108,无名,23,,湖北武汉,18948456676,S1T28)
insert into Student values(109,宋江,22,,湖北宜昌,13657488656,S1T21)
insert into Student values(110,李逵,24,,湖北襄樊,13790788055,S1T29)
insert into Student values(111,小丽,21,,湖北恩施,13153645768,S1T23)
insert into Student values(112,王萍,26,,湖北荆州,15867697990,S1T28)
insert into Student values(113,王胜,18,,湖北宜昌,13346545657,S1T27)
insert into Student values(114,彭娟,19,,湖北恩施,13376879447,S1T29)
go

insert into Subject values(1,html)
insert into Subject values(2,JAVA)
insert into Subject values(3,C#)
insert into Subject values(4,SQL)
go


insert into Score values(101,1,45)
insert into Score values(102,2,65)
insert into Score values(103,3,78)
insert into Score values(105,4,67)
insert into Score values(106,2,89)
insert into Score values(101,2,58)
insert into Score values(102,3,71)
insert into Score values(105,1,80)
insert into Score values(107,2,66)
insert into Score values(112,4,36)
go
--------------------------------------------------------------


--1、查询出和张三住在同一个地方的学生信息

--2、查询年龄大于李四的学生信息

--3、查询和张三在同一个班级的学生信息

--4、查询出所有脱产班的学生信息

--5、查询出没有参加过任何考试的学生信息

--select * from Student where StuID not in (select StuID from Score)
--6、把和张三在同一个班级的所有学生的JAVA成绩加10分

--7、查询比张三的JAVA成绩好的学生信息

--8、查询比张三的JAVA成绩好的学生所在的班级的信息

--9、查询比S1T21班所有学生年龄大的“周末班”的学员信息

--10、查询统计出每个脱产班的班级编号、班级类型、开班日期、JAVA平均分、C#平均分、SQL平均分、HTML平均分

--11、查询出JAVA成绩比S1T21班JAVA成绩最高分要高的学员信息

--12、查询出JAVA成绩没有及格的学员信息

--13、查询出姓“王”的学生的JAVA成绩和C#成绩

--14、SQLSERVER分页查询:
A、查询出学生信息表中第1-3条信息(第一页);
B、查询出学生信息表中第4-6条信息(第二页);

--15、查询没有参加过JAVA考试的学生所在的班级编号、班级类型、开班日期

--16、查询出和“张三”在同一个班的班级人数,平均年龄

--17、查询出学生姓名、班级编号、考试科目名称、考试成绩(使用连接查询)

--18、查询出班级人数最多的班级编号、班级类型、开班日期

--19、由于张三、李四、王五三名同学JAVA考试作弊,现将三名同学的成绩作废(删除)

--20、由于S1T23班参加的C#考试难度大,现将该班每个学生的C#成绩加10分

--21、查询出年龄大于25并且家住湖北襄樊的学生的编号、姓名、班级编号、班级类型、开班日期

--22、查询统计出2010-1-1以前开班的学生人数和平均年龄

--23、查询出每个班级JAVA成绩不及格的人数

--24、查询出每个班级没有参加JAVA考试的学生人数

--25、根据学生的JAVA课程的分数,来评定级别:
成绩<60 :★
60<=成绩<70:★★
70<=成绩<80:★★★
80<=成绩<90:★★★★
90<=成绩<=100:★★★★★
并且显示评定的等级信息

 

以上是关于Sql 语法练习的主要内容,如果未能解决你的问题,请参考以下文章

Sql 语法练习

SQL的基本语法练习

SQL语法练习

MySQL[练习]SQL 语句

SQL Prompt7.2下载及破解教程

SQL 连接查询练习