常见的SQL笔试题和面试题(上):经典50题

您所在的位置:网站首页 面试sql笔试题目 常见的SQL笔试题和面试题(上):经典50题

常见的SQL笔试题和面试题(上):经典50题

2024-07-14 00:50| 来源: 网络整理| 查看: 265

大家好,又见面了,我是你们的朋友全栈君。

题目转自:https://zhuanlan.zhihu.com/p/38354000

已知有如下4张表:

学生表:STUDENT(S#,SNAME,SAGE,SSEX)

课程表:COURSE(C#,CNAME,T#)

成绩表:SC(S#,C#,SCORE)

教师表:TEACHER(T#,TNAME)

其中,

1)学生表里的字段含义:

S#代表学号,SNAME代表学生姓名,SAGE代表学生年龄,SSEX代表学生性别

2)课程表里的字段含义:

C#代表课程编号,CNAME代表课程名字,T#代表教师编号,

3)成绩表

S#代表学号,C#代表课程编号,SCORE代表成绩

4)教师表的字段含义:

T#代表教师编号,TNAME代表教师姓名

自己赋值:

student表:

常见的SQL笔试题和面试题(上):经典50题常见的SQL笔试题和面试题(上):经典50题

Course表:

常见的SQL笔试题和面试题(上):经典50题常见的SQL笔试题和面试题(上):经典50题

Teacher表:

常见的SQL笔试题和面试题(上):经典50题常见的SQL笔试题和面试题(上):经典50题

SC表:

由于建表时忘记设置主键,需要增加(sno,cno)一起为主键,方便后期引用,注意,每个字段更新语句后面用逗号分开,否则会报错。

方法一:

代码语言:javascript复制alter table sc change column sno sno int(11) not null, change column cno cno int(11) not null, add primary key(sno,cno)

方法二:

代码语言:javascript复制alter table sc modify sno int(11) not null, modify cno int(11) not null, add primary key(sno,cno)常见的SQL笔试题和面试题(上):经典50题常见的SQL笔试题和面试题(上):经典50题

1.查询课程编号为“001”的课程比“002”的课程成绩高的所有学生的学号

代码语言:javascript复制select x.sno,x.score,y.score from sc x,sc y where x.cno=1001 and y.cno=1002 and x.sno=y.sno and x.score > y.score常见的SQL笔试题和面试题(上):经典50题常见的SQL笔试题和面试题(上):经典50题

2.查询平均成绩大于60分的学生的学号和平均成绩

代码语言:javascript复制select sno,avg(score) from sc group by sno having avg(score)>60常见的SQL笔试题和面试题(上):经典50题常见的SQL笔试题和面试题(上):经典50题

3.查询所有学生的学号、姓名、选课数、总成绩

代码语言:javascript复制select sc.sno,sname,count(cno),sum(score) from student join sc on student.sno=sc.sno group by sc.sno,sname常见的SQL笔试题和面试题(上):经典50题常见的SQL笔试题和面试题(上):经典50题

4、查询姓“悟”的老师的个数

代码语言:javascript复制select count(Tname) from teacher where Tname like '悟%'常见的SQL笔试题和面试题(上):经典50题常见的SQL笔试题和面试题(上):经典50题

5、查询没学过“悟空”老师课的学生的学号、姓名

(对原始SC表稍作修改,令1,2号学生没有学过悟空的课

代码语言:javascript复制delete from sc where sno=1 and cno=1009代码语言:javascript复制delete from sc where sno=2 and cno=1009

代码语言:javascript复制select sno,sname from student where sno not in(select sno from SC where cno in(select cno from course where tno in(select tno from teacher where tname='悟空')))常见的SQL笔试题和面试题(上):经典50题常见的SQL笔试题和面试题(上):经典50题

6、查询学过“悟空”老师所教的所有课的同学的学号、姓名

(对原始表Course,SC稍作修改,让悟空交2门课

代码语言:javascript复制insert into course values('1010','Exercise','TS04')代码语言:javascript复制insert into sc values ('8','1010','75'), ('9','1010','92'), ('10','1010','80');

)

7、查询学过编号为“1001”的课程并且也学过编号为“1010”的课程的学生的学号、姓名

8、查询课程编号为“1002”的总成绩

代码语言:javascript复制select sum(score) from sc where cno='1002'

9、查询所有课程成绩小于60分的学生的学号、姓名

代码语言:javascript复制select sno,sname from student where sno in(select sno from SC where score


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3