下面以学生——课程数据库(xs_kc)为例介绍。该数据库中有学生情况表(xsqk)、
课程表(xskc)、学生成绩表(xscj)。
xsqk:学号、姓名、出生年月、系别、专业、班级。
xskc:课程号课程名学分。
xscj:学号课程号成绩。
1、查询学生情况表中全体学生的信息。
select * from xsqk
2、查询课程表中所有课程信息。
select * from xsqk
3、查询全体学生的学号与姓名。
select 学号,姓名
from xsqk
4、查询全体学生的姓名及其年龄。
select 姓名,year(getdata())year(出生年月)
from xsqk
6、查询全体学生的系别。
select 系别
from xsqk
7、查询学生信息表中前10个学生的信息。
select top 10 *
from xsqk
8、查询计算机系全体学生的姓名。
select 姓名 from xsqk
where 系别 =’计算机’
9、在学生情况表中,查询所有在‘1982-01-01’前出生的学生信息。
select * from xsqk
where 出生年月 < 1982-01-01’
10、在学生情况表中,查询出生年月在‘1981-01-01’与‘1982-01-01’之间的学生信息(包括‘1981-01-01’与‘1982-01-01’)。
select * from xsqk
where 出生年月。
between ‘1981-01-01’and ’1982-01-01’
11、查询信息系、数学系和计算机系学生的信息。
select * from xsqk
where 系别 in ('信息’,’数学’,’计算机’)
12、查询既不是信息系、数学系,也不是计算机系的学生的信息。
select * from xsqk
where 系别 in not('信息’,’数学’,’计算机’)
13、查询所有姓刘的学生信息。
select * from xsqk
where 姓名 like ‘刘%’
14、查询姓张的,并且姓名为两个汉字的学生信息。
select * from xsqk
where 姓名 like ‘张_’
17、在学生成绩表(xscj)中,查询学生成绩为空值的学生学号、课程号。
select 学号 ,课程号
from xscj
where 成绩 is null
18、在学生成绩表中,查询学生成绩不为空的所有学生信息。
select * from xscj
where 成绩 is not null
19、在学生情况表中,查询计算机系的出生年月在‘1982-01-01’之前的学生姓名。
select 姓名 from xsqk
where 系别=’计算机’ and 出生年月<’1982-01-01’
20、在学生成绩表中,查询课程号为‘101’或‘102’的所有学生的学生号、课程号和成绩。
select * from xscj
where 课程号 in(’101’,’102’)
21、在学生课程表中,查询学分为,并且课程名以“d”打头的课程的所有信息。
select 学分
from xskc
where 课程号 in (’d’)
22、查询所有学生信息,并按学号降序排列。
select * from xsqk
order by 学号 desc
23、在学生情况表中,查询学生的总人数。
select count(*)
from xsqk
24、在学生成绩表中,查询学生的总人数。
select count(distinct,学号)
from xscj
25、在学生成绩表中,统计学号为‘02020101’的学生的平均成绩。
select **g(成绩)
from xscj
where 学号=’02020101’
26、在学生成绩表中,查出课程号为‘101’的课程的最高成绩。
select max(成绩)
from xscj
where 课程号=’101’
27、查询每位学生的平均成绩。
select 学号 **g(成绩)
from xscj
group by 学号。
28、在学生成绩表中,计算每门课程的选课人数。
select 课程号 count(学号)
from xscj
group by 课程号。
29、查询平均成绩大于的学生学号、平均成绩。
select 学号 **g(成绩)
from xscj
group by 学号。
h**ing **g(成绩)>
32、查询每个学生的学号、姓名及其所选课程号。
select xsqk.学号,姓名,课程号。
from xsqk,xscj
where xsqk.学号=xscj.学号。
33、查询学生的学号、姓名、所选课程号、课程名。
select xsqk.学号,姓名,课程号,课程名。
from xsqk,xskc,xskc
where xsqk.学号=xscj.学号 and xscj.课程号=xskc.课程号。
34、查询选修了课程号为‘101’的课程的学生学号、姓名、成绩信息。
select xsqk.学号,姓名,成绩。
from xsqk,xskc,where xsqk.学号=xscj.学号 and 课程号=’101’
35、查询计算机系学生的学号、姓名以及所选课程号、成绩。
select xsqk.学号,姓名,成绩。
from xsqk,xskc,where xsqk.学号=xscj.学号 and 系别=’计算机’
36、在学生情况表中,查询同名的学生学号。
select s1.学号,s2.学号。
from where s1.姓名=s2.姓名 and s1.学号37、查询学生情况表中所有学生的选课信息,包括学号、姓名及所选课程号。
指学生课程表中没有的学生学号也必须显示,可以使用外连接实现)
select xsqk.学号,姓名,课程号。
from xsqk,xscj
where xsqk.学号*=xscj.学号。
38、查询选修了课程号为‘102’的课程且成绩在90分以上的所有学生学号、姓名。
select xsqk.学号,姓名。
from xscj
where xsqk.学号=xscj.学号 and xscj.课程号=xskc.课程号 and xskc.课程号=’102’ and xscj.成绩》90
39、查询计算机系成绩有不及格的学生的学号、姓名、所选课程名称及其成绩。
select xsqk.学号,姓名,课程名,成绩。
from xsqk xskc xscj
where xsqk.学号=xscj.学号 and xscj.课程号=xskc.课程号 and xscj.成绩<60
40、查询学生课程表中所有课程的课程号、选该课程的学生学号、成绩。
select xskc.课程号,学号,成绩。
from xskc xscj
where xscj.课程号=xskc.课程号。
41、要查看学生成绩,同时显示学生姓名和课程名,可以使用下面的语句:
select xsqk.姓名,xskc.课程名,xscj.成绩。
from xscj
join xsqk on xsqk.学号=xscj.学号。
join xskc on xskc.学号=xscj.学号。
42、查询与“杨勇”在同一个系学习的学生信息。
select * from xsqk
where 系别。
in(select 系别 from xsqk where姓名=’杨勇’)
43、查询选修了“英语”这门课的学生学号、姓名。
select xsqk.学号,姓名
from xsqk
where 课程名。
in(select 课程名 from xscj where课程名=’英语’)
44、查询其他系中比计算机系所有学生出生年月都要早的学生姓名和出生年月。
select 姓名出生年月日。
from xsqk
where 出生年月’计算机’)
45、查询那些课程还没有被学生选修的课程号、课程名称。
select 课程号,课程名。
from xskc
where not exists(select* from xscj where xscj.课程号=xscj.课程号)
46、将计算机系的学生学号和学生成绩大于分以上的学生学号查询出来,并在一个查询结果中显示。
select 学号。
from xsqk
where in (select 系别 from xsqk where 成绩》 )
sql查询练习
以下查询均基于该数据库。成绩管理数据库,包含四张表 学生表 学号,姓名,性别,出生日期,籍贯,入学成绩,专业 课程表 课程号,课程名称,学分,教师号 成绩表 学号,课程号,成绩 教师表 教师号,姓名,性别,所在部门,职称,出生日期,专职,基本工资 1.查询学分在2至4之间的课程号 课程名和学分。2....
SQL查询练习
一 有三个关系,试用关系代数表达式表示下列查询语句 s sno,sname,age,sex,sdept c cno,cname,cdept,tname tname表示授课老师名。sc sno,cno,grade 1 检索年龄小于22岁的男学生的学号与姓名。2 检索学号为s3学生所学课程的课程名与任课...
SQL查询练习
第5章sql查询练习 1.新北方学校 的学生信息管理系统数据库中的学生表 tstudent 有7个字段 学生编号 字符型 姓名 字符型 性别 字符型 出生日期 日期型 年龄 数字 国籍 字符型 所在系 字符型 其中学生编号是主键 用sql语言完成下列功能 1 添加一个学生记录,编号为ts076,姓名...