sql数据库查询语句学生题目(SQL 查询语句期中考试题2)

:暂无数据 2026-08-18 06:40:01 :1

sql数据库查询语句学生题目(SQL 查询语句期中考试题2)

大家好,关于sql数据库查询语句学生题目很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于SQL 查询语句期中考试题2的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

本文目录

SQL 查询语句期中考试题2

--1.分别查询学生表和学生修课表中的全部数据。
SELECT * FROM student--查询学生表
SELECT * FROM course--查询课程表
--2.查询成绩在70到80分之间的学生的学号、课程号和成绩。
SELECT Sno 学号,Cno 课程号,Grade 成绩
FROM SC
WHERE Grade BETWEEN 70 AND 80
--3.查询C01号课程成绩最高的分数
SELECT TOP 1 Grade
FROM SC
WHERE Cno=’C01’
ORDER BY Grade DESC--降序DESC,升序ASC
--4.查询学生都选修了哪些课程,要求列出课程号。
SELECT Cname AS 学生选修的课程,Cno AS 课程号
FROM course
WHERE Cno IN(SELECT DISTINCT Cno FROM SC)--DISTINCT用来去除重复
--5.查询Northwind数据库中orders表的OrderID、CustomerID和OrderDate,
--并将最新的定购日期(OrderDate)列在前边。
USE Northwind
GO
SELECT OrderID,CustomerID,OrderDate
FROM orders
ORDER BY OrderDate DESC--降序DESC,升序ASC
--6.查询Northwind数据库中orders表的ShipCountry列以B,C,D,F --//ShipCountry BCDF
--开始且第三个字符为"a"的OrderID、CustomerID和ShipCountry的信息。//OrderID、CustomerID第三个字符为"a"
USE Northwind
GO
SELECT OrderID,CustomerID,ShipCountry FROM orders
WHERE ShipCountry LIKE ’_a%’--_下划线表示任意一个字符,%表示一个或多个字符
--7.查询Northwind数据库中orders表的ShipCountry列不以A,B,C,D,E,F开始且最后一个字
--母是"a"的OrderID、CustomerID和ShipCountry的信息。
USE Northwind
GO
SELECT OrderID,CustomerID,ShipCountry
FROM orders
WHERE ShipCountry LIKE ’%a’
--8.查询修了C02号课程的所有学生的平均成绩、最高成绩和最低成绩。
SELECT AVG(Grade) 平均成绩,MAX(Grade) 最高成绩,MIN(Grade) 最低成绩
FROM SC
WHERE Cno=’C02’
--9.统计每个系的学生人数。
SELECT Sdept 系别,COUNT(*) 人数
FROM student
WHERE Sdept IN(SELECT DISTINCT Sdept FROM student)
GROUP BY Sdept
--10.统计每门课程的修课人数和考试最高分。
SELECT Cname 课程名,COUNT(*) 修课人数,MAX(Grade) 考试最高分
FROM SC,course
WHERE SC.Cno IN(SELECT DISTINCT Cno FROM SC ) AND course.Cno=SC.Cno
GROUP BY course.Cname
--11.统计每个学生的选课门数,并按选课门数的递增顺序显示结果。
SELECT student.Sname 学生姓名,student.Sno 学生学号,COUNT(SC.Sno) 选课门数
FROM student
inner join SC ON SC.Sno=student.Sno
GROUP BY student.Sname,student.Sno
ORDER BY COUNT(SC.Sno) ASC
--12.统计选修课的学生总数和考试的平均成绩。
SELECT COUNT(DISTINCT(Sno)) AS 学生总数,AVG(Grade) AS 平均成绩
FROM SC --//用DISTINCT消除重复的行
--13.查询选课门数超过2门的学生的平均成绩和选课门数。
SELECT Student.Sname,AVG(Sc.Grade) 平均成绩,COUNT(SC.Sno) 选课门数
FROM SC
--内联接join或inner join,内联系是比较运算符,只返回符合条件的行
JOIN Student ON (SC.Sno = Student.Sno)
JOIN Course ON (SC.Cno = Course.Cno)
GROUP BY Student.Sname
HAVING COUNT(distinct Course.Cno) 》2--分组条件
--14.列出总成绩超过200分的学生,要求列出学号、总成绩。
SELECT Sno 学号,SUM(Grade) 总成绩
FROM SC
GROUP BY Sno
HAVING SUM(Grade)》200
--15.查询pubs数据库的titles表中每类图书的平均价格超过12.0元的书的类型(Type)、
--平均价格和最高价格。
USE pubs
GO
SELECT Type AS 书的类型,AVG(price) AS 平均价格,MAX(price) AS 最高价格
FROM titles
GROUP BY Type
HAVING AVG(price)》12.0
--16.查询pubs数据库的titles表中每类图书中图书的数目超过3本的图书的总价格。
USE pubs
GO
SELECT 图书类型=Type,图书的数目=count(Type),图书的总价格=SUM(price)
FROM titles
GROUP BY Type
HAVING count(Type)》3
--17.查询选修了c02号课程的学生的姓名和所在系。
SELECT Sname 学生姓名,Sdept 所在系,SC.Cno AS 选修课程
FROM student
inner join SC ON student.Sno=SC.Sno
WHERE SC.Cno=’C02’
--18.查询成绩80分以上的学生的姓名、课程号和成绩,并按成绩的降序排列结果。
SELECT Sname 学生姓名,SC.Cno 课程号,SC.Grade 成绩
FROM student
inner join SC ON student.Sno=SC.Sno--内连接表SC查询
WHERE SC.Grade》80
ORDER BY SC.Grade DESC
--19.查询计算机系男生修了"数据库基础"的学生的姓名、性别、成绩。
SELECT Sname 姓名,Ssex 性别,SC.Grade 成绩
FROM student
inner join SC ON Cno IN(SELECT Cno FROM course WHERE Cname=’数据库基础’) --显示成绩的条件
AND student.Sno=SC.Sno --显示成绩的学生的学号
WHERE Sdept=’计算机系’ AND Ssex=’男’
--20.查询哪些学生的年龄相同,要求列出年龄相同的学生的姓名和年龄。
--这题使用到了表的自连接,所以需要给表取两个别名,如A和B
SELECT A.Sname 年龄相同的学生的姓名,A.Sage 年龄
FROM student A
inner join student B ON A.Sage IN(SELECT Sage FROM student WHERE A.Sage=B.Sage AND A.Sname!=B.Sname)
GROUP BY A.Sname,A.Sage
ORDER BY A.Sage
--21.查询哪些课程没有人选,要求列出课程号和课程名。
SELECT Cno AS 课程号,Cname AS 课程名
FROM course
WHERE Cno NOT IN(SELECT DISTINCT SC.Cno FROM SC)
--22.查询有考试成绩的所有学生的姓名、修课名称及考试成绩
--要求将查询结果放在一张新的永久表(假设新表名为new-sc)中。
SELECT student.Sname AS 有考试成绩的学生的姓名,course.Cname AS 修课名称,SC.Grade AS 考试成绩
INTO --将查询结果放入新表new_sc中
FROM student,course,SC
WHERE SC.Grade IS NOT NULL AND student.Sno=SC.Sno AND course.Cno=SC.Cno
--23.分别查询信息系和计算机系的学生的姓名、性别、修课名称、修课成绩,
--并要求将这两个查询结果合并成一个结果集,
--并以系名、姓名、性别、修课名称、修课成绩的顺序显示各列。
--//此题用到了并union查询
SELECT Sdept 系名,Sname 姓名,Ssex 性别,course.Cname 修课名称,SC.Grade 修课成绩
FROM student
inner join SC ON student.Sno=SC.Sno
inner join course ON course.Cno=SC.Cno
WHERE Sdept=’信息系’
UNION
SELECT Sdept 系名,Sname 姓名,Ssex 性别,course.Cname 修课名称,SC.Grade 修课成绩
FROM student
inner join SC ON student.Sno=SC.Sno
inner join course ON course.Cno=SC.Cno
WHERE Sdept=’计算机系’
或
select sdept, sname,ssex,cname,grade from student,sc,course
where student.sno=sc.sno and sc.cno=course.cno and (sdept=’信息系’ or sdept=’计算机系’)
--24.用子查询实现如下查询:
--(1) 查询选修了C01号课程的学生的姓名和所在系。
SELECT Sname AS 选修了C01号课程的学生的姓名,Sdept AS 所在系
FROM student
WHERE Sno IN(SELECT Sno FROM SC WHERE Cno=’C01’)
--(2) 查询数学系成绩80分以上的学生的学号、姓名。
SELECT Sno AS 数学系成绩80分以上的学生的学号,Sname AS 姓名
FROM student
WHERE Sno IN(SELECT Sno FROM SC WHERE Grade》80)
AND Sno IN(SELECT Sno FROM student WHERE Sdept=’数学系’)
--(3) 查询计算机系学生所选的课程名.
SELECT Cname AS 计算机系学生所选的课程名
FROM course
WHERE
course.Cno IN(SELECT DISTINCT Cno FROM SC WHERE SC.Sno IN(SELECT Sno FROM student WHERE Sdept=’计算机系’))
--25.将计算机系成绩高于80分的学生的修课情况插入到另一张表中,分两种情况实现://////////////?????/
--(1) 在插入数据过程中建表。
--使用SELECT INTO插入数据的方法,是在插入数据的过程中建立新表
SELECT student.Sname AS 学生名字,course.Cname AS 选修课程,SC.Cno AS 课程编号
INTO --将计算机系成绩高于80分的学生的修课情况插入到表SC_Info1中
FROM student,course,SC
WHERE student.Sdept=’计算机系’ AND SC.Grade》80 AND course.Cno=SC.Cno AND student.Sno=SC.Sno
--(2) 先建一个新表,然后再插入数据。
--创建表SC_Info2
CREATE TABLE SC_Info2
(
Sname char(7),
Cname char(20),
Cno char(10)
)
--往表SC_info2插入查询得到的结果
INSERT SC_Info2
SELECT student.Sname AS 学生名字,course.Cname AS 选修课程,SC.Cno AS 课程编号
FROM student,course,SC
WHERE student.Sdept=’计算机系’ AND SC.Grade》80 AND course.Cno=SC.Cno AND student.Sno=SC.Sno
--26.删除修课成绩小于50分的学生的修课记录
DELETE SC WHERE Grade《50 OR Grade IS NULL
--27.将所有选修了"c01"课程的学生的成绩加10分。
UPDATE SC
SET Grade=Grade+10
WHERE Cno=’C01’

数据库SQL查询语句题目,求大神帮忙~

(6)select 学号,姓名 from 学生表 a,选课表 b where a.学号=b.学号 
     and 课程号’5 ’
(7)select 学号 from 选课 where 课程号 not in (’5’)
(8)select 学号 from 选课 where 课程号  in (’5’,’6’)
(9)select 学号,姓名 from 学生表 a,选课表 b where a.学号=b.学号 
     and 课程号 in(select 课程号 from 课程表)
     
(10)select 学号,姓名 from 学生表 a,选课表 b where a.学号=b.学号 
     and 课程号 in(select 课程号 from 选课表 where 学号=’95001’)

求SQL查询语句答案!!!!

(1) 统计每一个系有多少个学生并且系的人数必须超过300,显示内容:系名、系号、学生人数。(一条SQL)
select t1.*,t2.人数 from #DEPARTMENT t1,
(select count(*) as 人数 , deptid from #CLASS group by deptid having count(*)》300) t2
where t1.deptid=t2.deptid

(2)找出所有姓李的学生,显示内容: 系名、学号、姓名、专业名,并且按系名升序、姓名降序进行排序。(一条SQL)
select t3.deptname,t2.studentid,t2.name,t1.subject
from #CLASS t1,#STUDENT t2,#DEPARTMENT t3
where t1.classid=t2.classid
and t1.deptid=t3.deptid
and t2.name like ’李%’
order by t3.deptname , t2.name desc
(3)通过建立视图,查询年龄在16到18岁之间的学生,显示内容:系名、姓名、年龄、入学年份。(一条SQL)

create view test
as
select t3.deptname,t2.name,t2.age ,t1.enrolltime
from #CLASS t1,#STUDENT t2,#DEPARTMENT t3
where t1.classid=t2.classid
and t1.deptid=t3.deptid
and t2.age between 16 and 18
(4)查询学生人数最多的系的所有学生名单(可能存在两个或以上的系),显示内容:系名、姓名、专业名、年龄。(一条SQL)

select t3.deptname,t2.name,t1.subject,t2.age
from #CLASS t1,#STUDENT t2,#DEPARTMENT t3, (select count(t1.studentid) as 人数 , t2.subject from #STUDENT t1, #CLASS t2 where t1.classid=t2.classid group by t2.subject) t4
where t1.classid=t2.classid
and t1.deptid=t3.deptid
and t1.subject=t4.subject
and t4.人数= (select max(t.人数) from ( select count(t1.studentid) as 人数 , t2.subject from #STUDENT t1, #CLASS t2 where t1.classid=t2.classid group by t2.subject) t )

从学生表、选课表、课程表,试用SQL语句表示下列查询语句: (1)列出全部学生的信息

1.

SELECT    *
FROM      学生表

2.

SELECT    学号, 姓名
FROM      学生表
WHERE     专业 = ’软件测试专业’

3.

SELECT课程号
FROM课程表
WHERE类型 = ’必修课’

分别用一条SQL语句完成以下题目的操作: 1. 查询年龄为19岁的女同学的学号和姓名

1
select sno,sname from s where ssex=’女’ and sage=19
2
select cname,clocation from c where clocation=’主楼’ order by teacher
3
select sno from sc where grade》=80 and cno in (select cno from c where cname=’数据库原理’)
4
select s.sno,s.sname,avg(grade) from s,c,sc where s.sno=sc.sno and c.cno=sc.cno group by s.sno,s.sname
5
selete from sc where cno in (select cno from sc group by cno having count(*)《=10)

SQL——数据库“学生成绩.mdb”的题目

1
select
sno,sname,cname,grade
from
s,c,sc
where
s.sno=sc.sno
and
s.cno=c.cno
2
select
depart
,sex,
count(depart)
from
s
group
by
depart
,sex
3根据S、C和SC表,查询“计算机”系所有学生的成绩,要求输出SNO、SNAME、CNAME、GRADE,并按成绩降序排序
select
sno,sname,cname,grade
from
s,c,sc
where
s.sno=sc.sno
and
s.cno=c.cno
and
s.depart=’计算机’
order
by
sc.grade
desc

关于本次sql数据库查询语句学生题目和SQL 查询语句期中考试题2的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。

sql数据库查询语句学生题目(SQL 查询语句期中考试题2)

本文编辑:admin

更多文章:


withdrawal(withdrawal是什么意思)

withdrawal(withdrawal是什么意思)

今天给各位分享withdrawal是什么意思的知识,其中也会对withdrawal是什么意思进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年10月11日 07:00

根据流程图怎么编写程序(用c语言根据流程图写程序)

根据流程图怎么编写程序(用c语言根据流程图写程序)

大家好,今天小编来为大家解答以下的问题,关于根据流程图怎么编写程序,用c语言根据流程图写程序这个很多人还不知道,现在让我们一起来看看吧!

2026年10月11日 06:00

在from子句中可以出现(如何在from 子句中嵌套查询下面的语句在access中出错!)

在from子句中可以出现(如何在from 子句中嵌套查询下面的语句在access中出错!)

大家好,关于在from子句中可以出现很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于如何在from 子句中嵌套查询下面的语句在access中出错!的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望

2026年10月11日 05:20

countif函数统计个数怎么用(countif函数怎么用 详解Excel中countif函数的使用方法)

countif函数统计个数怎么用(countif函数怎么用 详解Excel中countif函数的使用方法)

其实countif函数统计个数怎么用的问题并不复杂,但是又很多的朋友都不太了解countif函数怎么用 详解Excel中countif函数的使用方法,因此呢,今天小编就来为大家分享countif函数统计个数怎么用的一些知识,希望可以帮助到大

2026年10月11日 03:30

正则匹配数字之前的字符(正则表达式如何匹配前面是数字、中间是“/”、后面也是数字,就像2/3专业的模式)

正则匹配数字之前的字符(正则表达式如何匹配前面是数字、中间是“/”、后面也是数字,就像2/3专业的模式)

本篇文章给大家谈谈正则匹配数字之前的字符,以及正则表达式如何匹配前面是数字、中间是“/”、后面也是数字,就像2/3专业的模式对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问

2026年10月11日 03:00

register语言学(register语言学)

register语言学(register语言学)

“register语言学”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看register语言学(register语言学)!

2026年10月11日 01:40

系统架构设计师可以直接考吗(学生可以报名系统架构设计师吗)

系统架构设计师可以直接考吗(学生可以报名系统架构设计师吗)

“系统架构设计师可以直接考吗”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看系统架构设计师可以直接考吗(学生可以报名系统架构设计师吗)!

2026年10月11日 01:00

orlnsertbootmediinselected(我电脑开机显示这个是什么意思or insert boot media in select)

orlnsertbootmediinselected(我电脑开机显示这个是什么意思or insert boot media in select)

大家好,如果您还对orlnsertbootmediinselected不太了解,没有关系,今天就由本站为大家分享orlnsertbootmediinselected的知识,包括我电脑开机显示这个是什么意思or insert boot med

2026年10月10日 23:00

display的用法(display是什么意思 详解display的含义和用法)

display的用法(display是什么意思 详解display的含义和用法)

大家好,如果您还对display的用法不太了解,没有关系,今天就由本站为大家分享display的用法的知识,包括display是什么意思 详解display的含义和用法的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月10日 22:00

html全部居中代码(怎么让网页居中显示,html如何让网页居中)

html全部居中代码(怎么让网页居中显示,html如何让网页居中)

大家好,今天小编来为大家解答以下的问题,关于html全部居中代码,怎么让网页居中显示,html如何让网页居中这个很多人还不知道,现在让我们一起来看看吧!

2026年10月10日 21:10

最近更新

withdrawal(withdrawal是什么意思)
2026-10-11 07:00:01 浏览:0
热门文章

标签列表