博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库笔试题及答案
阅读量:6078 次
发布时间:2019-06-20

本文共 1802 字,大约阅读时间需要 6 分钟。

以下为某公司的数据库笔试题及个人整理的答案,小伙伴们有更好的答案欢迎指教!

数据表

Student(S#,Sname) 10000条记录

Cource(C#,Cname,T#) 9条记录
SC(S#,C#,Score) 89991条记录
Teacher(T#,Tname) 3条记录

题目并没有指定表中有多少数据,记录是我自己模拟的。

试题

1、选择课程001的成绩大于课程002的成绩的学生ID;

SELECT sc1.`S#` from sc sc1 WHERE sc1.`C#`=1 AND EXISTS(SELECT sc1.`S#` from sc sc2 WHERE sc2.`C#`=2 and sc1.`S#`=sc2.`S#` AND sc1.Score > sc2.Score)上面的用法性能太差了。[SQL] SELECT sc1.`S#` from sc sc1, sc sc2 WHERE sc1.`S#`=sc2.`S#` and sc1.`C#`=1 AND sc2.`C#`=2 AND sc1.Score > sc2.Score时间: 14.913ms
2、查询所有平均成绩大于60分的学生ID,学生姓名;
select s.`S#`,Sname,avg(sc.Score) avgc from Student s,SC sc where s.`S#`=sc.`S#` GROUP BY sc.`S#` HAVING(avgc > 60)[SQL] select s.id,Sname,avg(sc.Score) avgc from Student1 s,SC sc where s.`id`=sc.`S#` GROUP BY sc.`S#` HAVING(avgc > 60)时间: 0.227ms
3、查询所有学生的学生ID,学生姓名,总科目数,总成绩;
select s.`S#`, s.Sname, count(*),sum(sc.Score) from Student s ,SC sc where s.`S#`=sc.`S#` GROUP BY sc.`S#`[SQL] select s.`id`, s.Sname, count(*),sum(sc.Score) from Student1 s ,SC sc where s.`id`=sc.`S#` GROUP BY sc.`S#`时间: 0.264ms
4、查询没有上过“志明”老师课的学生ID,学生姓名;
select * from Student where `S#` NOT in (select `S#` from SC where `C#` in (select `C#` from Cource where `T#` in ( select `T#` from Teacher where Tname LIKE '%志明%' )))[SQL] select * from Student1 where `id` NOT in (select `S#` from SC where `C#` in (select `C#` from Cource where `T#` in ( select `T#` from Teacher where Tname LIKE '%志明%' )))时间: 0.156ms
5、母表A中有3000万条数据(分库分表了),子表B中有5万条数据,现在要更新A表中的某个字段值为B表的某个字段值,条件是A表的某字段值与B表的某字段值匹配;如何实现,如何优化效率?
update A set A.a=B.a from A ,B where A.id=B.id
具体怎么优化,能想到的就是,where 字段加索引,
A由于是分库分表,可能就需要不只一条sql,每个库,每个表,都是写条类似的sql

我的环境

操作系统:Windows 7 64位

CPU:I3 2.4G

内存:6G

MySQL:5.6.19 InnoDB

===========文档信息============ 

版权声明:非商用自由转载-保持署名-注明出处 
署名(BY) :testcs_dn(微wx笑) 
文章出处:[无知人生,记录点滴](http://blog.csdn.net/testcs_dn)

你可能感兴趣的文章
FSDK_ActivateLibrary Function
查看>>
IT题库3-线程实现的方式
查看>>
CSS overflow 属性
查看>>
Mybatis的动态代理模式
查看>>
[java]网上商城错误集锦 ...
查看>>
团队开发流程
查看>>
给vue项目添加ESLint
查看>>
H5端调起百度地图、腾讯地图app
查看>>
yum安装软件报错Segmentation fault处理
查看>>
程序员45个好习惯
查看>>
关于保留页面状态的一些总结
查看>>
3 ways of including JavaScript in HTML
查看>>
js的Prototype属性 解释及常用方法
查看>>
EntityFramework 启用迁移 Enable-Migrations 报异常 "No context type was found in the assembly"
查看>>
SCC模板
查看>>
专题二经典问题解析_13
查看>>
和小猪一起搞微信公众号开发—创建自定义菜单
查看>>
C# 检测网络链接
查看>>
WPF 让Enter键按下时默认为某按钮(Button)事件
查看>>
Nginx下配置codeigniter框架
查看>>