SQL 数据查询

article/2025/10/23 3:19:22

 前言,数据库中有5个表,student,sc,course,tc,teacher;(sql server里面不区分大小写)

                                                        student

                    sc                                                                tc

                                 

                                               course

                                                                       teacher

1. 查询软件工程学院(SE)学生的学号和姓名。

 select Sname,Sno from Student where Sdept='se';

2.查询选修C002课程的学生学号和成绩,结果按成绩降序排列;

select Sno,grade from SC where Cno='C002'order by grade desc;

3.查询选修C002课程成绩为80~90的学生学号和成绩,并将成绩乘以0.9输出。

select sno,grade=0.9*grade from sc where Cno='C002' and (Grade between 70 and 90); 

4.查询软件工程学院(SE)或文学院(CH)姓"张”的学生的信息

 select * from student 
    where Sdept in ('SE','CH')and (Sname like '张%');

5. 查询“秦海东”教师担任的课程总学时数。

select SUM(Chour) 秦海东老师总学时 from Course
    where Cno=(select Cno from TC 
    where TID=(select TID from Teacher 
    where Tname='秦海东')); 

6. 查询"陈流星”同学所选修课程的任课教师信息。

select * from Teacher 
        where tid in(select  tid from tc 
        where cno in(    select  cno from sc 
        where Sno=(select sno from Student where Sname='陈流星')));

7. 查询总成绩在130分以上的学生学号、总成绩和平均成绩。

select * from(
        select sno,SUM(Grade) 总成绩,avg(grade) 平均成绩  from sc  GROUP by sno )p
        where 总成绩>130;

8.查询所有有C002号课程成绩的学生学号、姓名和成绩。

select Sname,student.Sno,grade from sc,Student
        where Cno='C002'and student.sno=sc.Sno;

9. 查询选修课程一样且成绩相同的学生基本情况(使用自连接查询)。

select * from Student
    where sno in (select distinct sc1.sno
    from sc sc1,sc sc2
    where sc1.Cno=sc2.Cno and sc1.Grade=sc2.Grade);

10.查询所有考试成绩及格的学生成绩信息,结果中包含学生的学号、姓名、性别、选修课程编号、成绩,并按照成绩进行降序排列。

select a.Sno,ssex,sname,b.Grade,b.Cno from Student a, SC b
        where  b.grade > 60;

11.查询所有学生的总成绩(包括没有成绩的学生)、学号和姓名(外部连接查询)。


        select S.Sno,s.Sname,p.总成绩
        from student s left outer join(select sno,SUM(grade) 总成绩 from SC
        group by sno ) p on s.sno = p.Sno

12.查询某课程成绩在80分以上的学生学号和姓名(使用谓词IN连接子查询)。

select sname,sno from Student
        where Sno in (
        select sno from sc 
        where Grade>80
        ); 
 

13. 查询有课程成绩的学生学号和姓名(使用谓词EXISTS连接子查询)。

select sno,Sname from Student
        where exists(
        select * from sc
        where sno=Student.Sno and Grade is not null 
        );

14.从Course表中查询课程名中包含“数据”的课程信息。

select * from Course
        where Cname like '%数据%';

15.查询所有学生及其选修课情况(包括未选修任何课程的学生),显示学生姓名、课程名称和课程成绩(要求使用外连接)。

select sname,cname,grade 
        from Course right outer join SC on sc.Cno=Course.Cno right outer join Student on sc.Sno=Student.Sno;

16.查询所有学生中平均成绩最高的学生学号。

select TOP 1 sno from sc group by sno 
        order by AVG(Grade)desc  ;

17.查询所有软件工程学院(SE)的学生学号、选修课程号以及分数(使用EXISTS谓词)。


        select sno,cno,grade from sc
        where exists(
        select * from student
        where Sdept='se'
        );

18.查询至少选修了学号20131322001 的同学所选修的全部课程的学生姓名、学号、课程名。

  select sname,sc.Sno,cname from student left outer join sc on 
          student.Sno=sc.Sno left outer join Course on sc.Cno=Course.Cno
          where not exists(
          select * from sc scy
          where scy.Sno='20131322001'and not exists (
          select * from sc scz
          where scz.Sno=sc.Sno and scz.Cno=scy.Cno
          )
          );

19.求选修了C001号课程的学生中,C001课程成绩比“陈流星”高的所有学生学号、姓名和成绩。

select sc.Sno,sname,grade from Student left outer join sc on Student.Sno=sc.Sno
          where cno='c001' and Grade>(select grade from Student left outer join sc on Student.Sno=sc.Sno
          where sname='陈流星'and cno='c001'
          );          

21. 查询至少选修两门课的学生的姓名和选课门数。

select sname,count(Cno) 选课门数 from Student left outer join sc on Student.Sno=sc.Sno
          group by sc.Sno,Sname
          having count(cno)>2;

22. 统计每个学院的男女生人数。

 select p.Sdept,男,女 from(select sdept,count(ssex) 男 from student
          group by Sdept,Ssex
          having ssex='男')p join (select sdept,count(ssex) 女 from student
          group by Sdept,Ssex
          having ssex='女')q on p.Sdept=q.Sdept;

23. 查询没有选修C001课程的学生的学号和姓名。


          select Student.Sno,sname from student left outer join sc on Student.Sno=sc.Sno
          where not exists (
          select * from sc
          where Cno='c001'and sno=Student.Sno
          );


http://chatgpt.dhexx.cn/article/NZVnlrxp.shtml

相关文章

SQL数据查询

目录 1、求各系学生的平均成绩,并把结果存入新建的数据库表中(请自己创建一个表存放结果) 2、统计每门课程的选修学生人数及各门课程的平均成绩 3、找出各系年龄最大的学生,显示其学号、姓名;(利用相关子…

数据库:SQL数据查询(详细、全面)

以下题目中加粗字体为重点哦~ 一、查询指定列、全部列 1.查询全体学生的学号和姓名 SELECT SNO, SN FROM S 2.查询全部列 SELECT * FROM S 二、查询经过计算的值 3. 查询全体学生的姓名、出生年份 SELECT SN, 2020-AGE FROM S 4. 查村全体学生的姓名、出生年份和系名&#xff…

2022留学生落户上海成本大概是怎样的?

现在留学生落户上海整体来说除了对于社保没有要求的落户方式,那么对于普通的留学生落户来说,就得有社保和个税的要求了,那么这里面的成本是有多少呢,下面来看看这里面的情况: 留学生落户上海根据判断自己的社保基数及累…

非上海户籍人员在上海买房需要啥条件?

和你一起终身学习,这里是程序员Android 非沪籍想在上海买房说实话有点难,毕竟每平米大几万的房价不是盖的,既然您点进来看了,说明你有这个想法,有想法就行,虽然我们不一定能买得起,但不能阻挡我…

上海落户计算机水平毕业研究生,2021上海积分落户应届毕业生直接落户上海

原标题:2021上海积分落户应届毕业生直接落户上海 ——上海落户积分120分,不是研究生毕业就有100分吗?研究生毕业就有100分,正常读书年龄肯定很小就有30分了啊,不是直接就可以落户了吗?为什么大家都在说很难…

上海居住证转户口证攻略

2019独角兽企业重金招聘Python工程师标准>>> 一、居转户条件: 1.居住证满7年,社保满7年,税单满7年 2.最近3年连续社保是上海平均值2倍以上(或者具备中级以上职称) 3.自有产权房 二、居转户材料&#x…

2019非上海生源高校应届生落户指南

流程 一、计算积分基本要素导向要素用人单位要素 二、准备申请材料三、审核--证明信四、证明信-个人户口本落户社区公共户落户家庭户或者单位集体户口落户家庭户落户单位集体户口 博主从五月份准备落户申请材料,到十月中旬拿到上海个人户口本,历时五个月…

上海程序员落户攻略

上海居住证落户简称 “居转户” , 本文主要写给在上海打拼的程序员们,告诉大家比写代码更重要的一件事情是落户。讲述一些关于上海居住证落户的一些政策和一些建议。 很多人以为居转户,只要上海居住证满7年就可以转了,殊不知&…

上海落户计算机水平毕业研究生,2020年上海落户有哪些新规定?附研究生落户分值表!...

相信对于不少的年轻人来说,上海都是他们向往的城市,很多毕业生都在毕业后都希望可以留在上海,如果能够落户就再好不过了。下面小编就给大家说说2020年上海落户有哪些新规定,研究生如何落户,想了解的快来看看吧。 一、2…

2017年上海最新落户政策重磅出炉!你达标了吗?(明年就毕业了希望一切顺利)

2017年最新非上海户籍的应届毕业生落户标准公布, 应届毕业生落户标准分为72分! 具体申请可根据2017《上海市居住证》和 居住证积分指南、申请本市户籍办法。 想想当初选择来魔都读书生活, 每天起早贪黑究竟为了什么? 很多人的“小…

【个人亲历】上海市人才引进落户最详细的流程记录说明

目录 一、材料准备 二、网上审核 2.1、预审上报 2.2、线下提供证明材料 2.3、初审、审核 2.4、公示 三、落户证明领取和准迁证查询 3.1、线下领取落户证明 3.2、准迁证查询 附:应用汇总: 从2022年6月领导通知我够资格人才引进落户以及2022…

2022留学生落户上海怎么办理社区公共户?

很多留学生会担心的一个问题是个人和直系亲属在沪无房产,且单位也无集体户怎么办呢? 其实无须担心,这种情况下可以按公安机关规定申请挂靠 社区公共户!简单而言 ,就是租房在哪,就落户在相应的派出所。 落户通过后,留…

重磅!上海出落户新政:双一流应届硕士可直接落户!

点击上方“3D视觉工坊”,选择“星标” 干货第一时间送达 编辑丨科研大匠 9月23日,据上海学生就业创业服务网,上海市高校招生和就业工作联席会议制定的《2020年非上海生源应届普通高校毕业生进沪就业申请本市户籍评分办法》(以下简…

上海落户条件—海归落户上海

上海落户条件—海归落户上海 国际留学生落户上海 2020年底,上海市政府发布上海落户2020新政改革,明确指出“基于国家户籍制度改革的新趋势,以及上海所面临的人才不足和各地人才竞争形势,对上海居住证转户籍人口提出一个基本的政策…

留学回国人员申办上海常住户口实施细则

留学回国人员申办上海常住户口实施细则 (政策有效期至2025年11月30日) 第一条 目的和依据 为贯彻落实人才强市战略,加大海外人才引进力度,规范留学回国人员申办上海常住户口工作,根据《公安部、人力资源和社会保障部关…

微信appid、openid、unionid的区别和关联

微信小程序的appid、openid、unionid appidopenidunionid三者关系 appid application identification (简称appid) 翻译一下就是某个应用的标识(id) 比如说在一个公众号主体下 你不仅可以拥有h5网站,小程序,小游戏,企业微信等等,这些都有一个单独的appid openid 每一个应用下…

获取openId

小程序—获取openId(用来标识用户唯一) 在需要的页面.js下 getopenid(){wx.cloud.callFunction({name:getOpenId,//注意名字是自己当前云函数中的openID的目录名success(res){console.log("获取云函数成功",res);},fail(res){console.log(&qu…

微信的openid

https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter7_3 微信h5静默、非静默授权获取用户openId的方法和步骤: 一、openId是什么? openId是用户在当前公众号下的唯一标识(‘身份证’),就是说通过这个openId,就…

微信小程序获取openid

获取openId (用户唯一标识)和session_key 第一步,获取code 调用wx.login(OBJECT) 获取登录凭证(code)进而换取用户登录态信息,包括用户的唯一标识(openid) 及本次登录的 会话密钥(session_key…

微信公众号开发:如何获取openId(最简单的方式)

最近的项目涉及到微信公众号的开发,必然要涉及到微信公众号的openId的获取,以及appId的获取,appId的获取很简单,但是如何才能获取到openId呢? 我找到了一种最简单的获取方法,整理如下: 注册自己…