常见的SQL笔试题和面试题(上):经典50题
大家好,又见面了,我是你们的朋友全栈君。
题目转自: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表:
Course表:
Teacher表:
SC表:
由于建表时忘记设置主键,需要增加(sno,cno)一起为主键,方便后期引用,注意,每个字段更新语句后面用逗号分开,否则会报错。
方法一:
alter table sc
change column sno sno int(11) not null,
change column cno cno int(11) not null,
add primary key(sno,cno)
方法二:
alter table sc
modify sno int(11) not null,
modify cno int(11) not null,
add primary key(sno,cno)
1.查询课程编号为“001”的课程比“002”的课程成绩高的所有学生的学号
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
2.查询平均成绩大于60分的学生的学号和平均成绩
select sno,avg(score) from sc
group by sno
having avg(score)>60
3.查询所有学生的学号、姓名、选课数、总成绩
select sc.sno,sname,count(cno),sum(score)
from student join sc
on student.sno=sc.sno
group by sc.sno,sname
4、查询姓“悟”的老师的个数
select count(Tname) from teacher
where Tname like '悟%'
5、查询没学过“悟空”老师课的学生的学号、姓名
(对原始SC表稍作修改,令1,2号学生没有学过悟空的课
delete from sc where sno=1 and cno=1009
delete from sc where sno=2 and cno=1009
)
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='悟空')))
6、查询学过“悟空”老师所教的所有课的同学的学号、姓名
(对原始表Course,SC稍作修改,让悟空交2门课
insert into course values('1010','Exercise','TS04')
insert into sc values
('8','1010','75'),
('9','1010','92'),
('10','1010','80');
)
7、查询学过编号为“1001”的课程并且也学过编号为“1010”的课程的学生的学号、姓名
8、查询课程编号为“1002”的总成绩
select sum(score) from sc
where cno='1002'
9、查询所有课程成绩小于60分的学生的学号、姓名
select sno,sname from student
where sno in(select sno from SC where score <60)
10、查询没有学全所有课的学生的学号、姓名
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/153437.html原文链接:https://javaforall.cn
相关文章
- SQL语句面试题目_sql基础知识面试题
- jvm面试题目及答案_jvm原理面试题
- js闭包面试题经典_js闭包原理
- 常见SQL面试题_sql索引面试题
- 50道 CSS 经典面试题(包含答案)
- 数据分析sql面试必会6题经典_经典的SQL语句面试题「建议收藏」
- 社招前端一面经典手写面试题集锦
- C语言经典面试题_c语言常见面试题
- 前端面试选择题_vue最新面试题
- Linux运维面试题[通俗易懂]
- 腾讯前端经典react面试题汇总
- 数据结构面试经典问题汇总及答案_数据结构基础面试题
- 前端一面经典vue面试题总结
- 前端一面必会手写面试题指南
- 前端必会面试题指南_2023-02-27
- 前端二面经典面试题指南_2023-02-28
- 前端经典面试题(有答案)_2023-02-28
- 历经一个月,我做了一个前端面试题搜索公众号
- 那些高级前端是如何回答面试题的_2023-03-02
- react源码面试题解答
- 前端一面经典手写面试题(边面边更)
- 常见的SQL面试题:经典50例
- 阿里历年经典Java面试题汇总,想进BAT你还不快收藏!详解编程语言
- 链表的面试题详解编程语言
- 语句Oracle精选经典SQL语句集锦(oracle经典sql)
- MySQL面试题大全精选SQL技巧考察,必备职场技能(mysql中sql面试题)
- Redis的面试题研究其数据结构(redis面试题数据结构)
- PHP中提问频率最高的11个面试题和答案