数据库练习题。

数据库练习题。,第1张

前2题很简单同上, 网页不让我贴上去. 呵呵 ^_^3. select 图书表.书名 , 借阅表.借书日期 from 读者表 , 借阅表 , 图书表 where 读者表.姓名 =“李%” and 借阅表.借书证号 = 读者表.借书证号 and 借阅表.总编号 = 图书表.总编号4. select 借阅表.借书证号 from 图书表 , 借阅表 where 借阅表.总编号 = 图书表.总编号 and 书名 = "SQL Server大全"5. select 读者表.姓名 , 读者表.所在单位 , 借阅表.借书日期 from 读者表 , 借阅表 where 借阅表.借书日期 = (select 借阅表.借书日期 from 读者表 , 借阅表 where 读者表.姓名 = "赵正义" and 借阅表.借书证号 = 借阅表.借书证号) and 借阅表.借书证号 = 借阅表.借书证号 给你参考了5题了 希望你能在其中找到解决问题的途径剩下的那题希望通过努力你自己能完成,那样你就有进步了.

--1、查询选修了课程的总人数

select count([学号]) as [总人数]

from Studentclass

--2、查询选修了3号课程的学生姓名

select [姓名] from Student

where [学号] in (select [学号] from Studentclass where [课程号] = 3)

--3、查询学生“张三”的学号,姓名,选修课程名,成绩(第二张表的学分应该是成绩吧)

select a.[学号],a.[姓名],c.[课程名],b.[成绩]

from Student a,Studentclass b,Class c

where a.[学号] = b.[学号] and b.[课程号] = c.[课程号] and a.[姓名] = N'张三'

--4、查询选修课程“人工智能”的学生的学号,姓名

select a.[学号],a.[姓名]

from Student a

left join Studentclass b

on a.[学号] = b.[学号]

left join Class c

on b.[课程号] = c.[课程号]

where c.[课程名] = N'人工智能'

--5、查询选修1号课程的最高分是多少是哪个学生获得的

select [姓名]

from Studentclass

where [学号] in (select [学号] from Studentclass where [成绩] = (select max([成绩]) from Studentclass where [课程号] = 1))

--6、查询姓名中第二个字为“三”的学生列表

select [姓名] from Student where [姓名] like N'_三%'

--7、统计每个课程号对应的选课人数是多少

select [课程号],count([学号]) as [选课人数] from Studentclass group by [课程号]

--8、查询选修3号课程且成绩在70分以上的学生信息

select * from Student

where [学号] in (select [学号] from Studentclass where [课程号] = 3 and [成绩] >= 70)

--9、查询“化学系”的学生来自哪些省市

select [省区] from Student

where [系别] = N'化学系'

--10、查询全体学生情况,结果按所在系升序排列,同一系再按年龄降序排列

select * from Student order by [系别],[年龄] desc

--11、查询选修了4号课程的平均成绩

select avg([成绩]) from Studentclass group by [课程号] having [课程号] = 4

--12、把3号课程学分<60分的数据更新为60

update Studentclass

set [学分] = 60

where [学分] <60 and [课程号] = 3


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6663290.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存