暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片
大厂的SQL面试题(附参考答案).pdf
205
5页
12次
2025-05-24
免费下载
SQL 面试
SQL 理论题(简要阐述)
1、 触发器的作用
触发器 有数据库级触发器,ddl 和 dml 触发器,用于 当某个事件触发之后 执行一系列操作
2、什么是存储过程?用什么来调用?
存储过程 是数据库中的 编程语言, sql 语言的扩展, 可以更方便的处理业务逻辑。
存储过程 可以用 数据库自带 job,linux crontab 或者 etl 调度工具来调用
3、索引的作用?和它的优点缺点是什么?
索引是用来 快速查找少量数据的
优点:索引可以提高 查询速度 缺点:索引会降低 DML 性能
4、什么叫视图?游标是什么?
视图本身就是一封装了一 select 查询语句,视图本身不存储数据,可以用来做数据的权限控
制,以及底层数据的访问封装
游标是 plsql 数据处理时,当一条查询返回多条数据时,可以将查询结果封装到游标中,通过游
标进行循环处理查询返回的多条数据
Sql 操作
1、根据提供的表数据,查询显示对应需要的结果。
Student(S#,Sname,Sage,Ssex) 学生表 S#:学号;Sname:姓名;Sage:年龄;Ssex:性别
Course(C#,Cname,T#) 课程 C#,课程编号;Cname:课程名字;T#:教师编号
SC(S#,C#,score) 成绩表 S#:学号;C#,课程编号;score:成
Teacher(T#,Tname) 教师表 T#:教师编号; Tname:教师名字
问题:
1)查询“001”课程比“002”课程成绩高的所有学生的学号;
select a.s# from
(select * from SC a where c#='001') a,(select * from SC a where c#='002') b
where a.s#=b.s# and a.score>b.score order by 1
2)查询平均成绩大于 60 分的同学的学号和平均成绩;
select s#,avg(score) from SC group by s# having avg(score)>60;
3)查询所有同学的学号、姓名、选课数、总成绩
select a.S#,a.Sname,b.选课,b.总分 from Student a,
(select S#,count(*) 选课数 ,sum(score) 总分 from SC group by S# order by 1) b
where a.s#=b.s#
4)查询姓“李”的老师的个数;
Select count(*) from Teacher where Tname like '%'
5)查询没学过“叶平”老师课的同学的学号、姓名;
select S#, Sname
from Student
where S# in select distinct S# from SC
where S# not in (select S#
from SC c,
(select c#
from Teacher a, Course b
where a.T# = b.T#
and Tname = '叶平') d
where c.c# = d.c#);
2、怎么把这样一个表:
coursed coursename score
1 java 70
2 oracle 90
3 xml 40
4 jsp 30
5 servlet 80
-------------------------------------
查询此表后的结果显式如下(及格分数为60):
courseid coursename score mark
1 java 70 pass
2 oracle 90 pass
3 xml 40 fail
4 jsp 30 fail
5 servlet 80 pass
select a.*,
case
of 5
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜