数据库笔试题及答案

article/2025/9/30 2:44:07

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

数据表

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)


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

相关文章

MySQL数据库期末考试试题及参考答案(09)

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 一、 填空题 MySQL提供的____命令可以将数据库导出成SQL脚本,以实现数据的备份。mysqldump命令备份多个数据库时,数据库名称之间用____隔开。MySQL中…

数据库题库(一)

第一章 绪论(上) (1) (2)只要有大量数据就可以称之为数据库() (3)数据库管理系统DBMS有多种,比如PostgreSQL、Oracle等(√&#xf…

MySQL数据库期末考试试题及参考答案(07)

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 一、 填空题 如果不想提交当前事务,可以使用_____语句回滚事务。每个事务都是完整不可分割的最小单元是事务的_____性。MySQL中,显式开启事务的语句…

数据库面试题(答案)

1、MySQL主键和唯一索引的区别? 1、主键是一种约束,唯一索引是一种索引,两者在本质上是不同的。 2、主键创建后一定包含一个唯一性索引,唯一性索引并不一定就是主键。 3、唯一性索引列允许空值,而主键列不允许为空值…

MySQL数据库期末考试试题及参考答案(06)

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 一、 填空题 普通索引使用KEY或____定义。在MySQL中,DROP VIEW语句用于____。MySQL中常见的索引大致分为普通索引、 ____ 、 ____ 、全文索引、空间索引。只有在…

数据库习题

习题一 数据库系统绪论 一、数据独立性包括数据的 物理独立性 和 逻辑独立性。 二、数据模型的组成三要素是数据结构 、 数据操作、 完整性约束条件。 三、两个实体型之间的联系分为三类,分别是 一对一关系、 一对多关系和 多对多关系 两个以上的实体型之间以及单…

MySQL数据库期末考试试题及参考答案(04)

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 一、填空题 MySQL中提供了____关键字,可以在查询时去除重复的值。使用ORDER BY对查询结果进行排序时,默认是按____排列。SELECT语句中,用…

MySQL数据库题库

一、选择题 第1章 数据库系统概述 1.DBS是( A )的简写。 A.数据库系统 B.数据库管理系统  C.数据库 D.操作系统 2.DBMS是( B )的简写 A.数据库系统 B.数据库管理系统  C.数据库 D.数据 3.DB、DBMS和DBS之间的关系是 (…

MySQL数据库期末考试试题及参考答案(03)

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 一、填空题 插入数据时,如果不指定____,必须为每个字段添加数据。MySQL中使用____语句来更新表中的记录。MySQL提供____语句用于删除表中的数据。在…

【数据库】数据库选择题练习及详解

练习1 1.允许取空值但不允许出现重复值的约束是______ A、NULL B、PRIMARY KEY C、UNIQUE D、FOREIGN KEY 解:NULL指当前值为空,不做其他约束,PRIMARY KEY为码约束,码必须唯一且不能为空,UNIQUE指的是当前值唯一&…

MySQL数据库期末考试试题及参考答案(05)

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 一、填空题 交叉连接查询返回的结果是被连接的两张数据表中所有数据行的____ 。左连接查询的结果包括LEFT JOIN子句中左表的____,以及右表中满足连接条件的记录…

MySQL数据库期末考试试题及参考答案(02)

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 一、 填空题 创建数据库时,语句中添加____可以防止数据库已存在而引发的程序报错。如果使用非图形化工具操作数据表,操作之前应该先使用____命令指定…

MySQL数据库期末考试试题及参考答案(01)

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 一、 填空题 ___在20世纪80年代被美国国家标准学会和国际标准化组织定义为关系型数据库语言的标准。数据模型所描述的内容包括3个部分,分别是数据结构、数据操作…

数据库原理及应用-期末考试试题及答案

单项选择题 DB、DBMS和DBS三者之间的关系是( )。 A.DB包括DBMS和DBS B.DBS包括DB和DBMS C.DBMS包括DB和DBS D.不能相互包括 对数据库物理存储方式的描述称为( ) A.外模式…

数据库试题及答案 两套

数据库原理试题(A卷) 一、 填空题(每空 1 分,共 20 分) 1. 对于一个国家来说,数据库的建设规模、数据库信息量的 _____________ 和 _____________ 已成为这个国家信息化程度的 ________________ 。2. 数据模型通常由:…

经典 SQL 数据库笔试题及答案整理

马上又是金三银四啦,有蛮多小伙伴在跳槽找工作,但对于年限稍短的软件测试工程师,难免会需要进行笔试,而在笔试中,基本都会碰到一道关于数据库的大题,今天这篇文章呢,就收录了下最近学员反馈上来…

AttributeUsage(转载)

System.AttributeUsage声明一个Attribute的使用范围与使用原则。 AllowMultiple 和 Inherited 参数是可选的,所以此代码具有相同的效果: AttributeTarget的值可以参考1。部分可取值如下: 如果 AllowMultiple 参数设置为 true,则返…

[AttributeUsage(AttributeTargets.Class)] 用法例子

首先,创建一个自定义的Attribute,并且事先设定我们的Attribute将施加在class的元素上面以获取一个类代码的检查信息。 using System; using System.Reflection; [AttributeUsage(AttributeTargets.Class)] public class CodeReviewAttribute : System.Attribute //定义一个Co…

介绍属性与自定义属性、AttributeUsage

介绍属性 属性为访问自定义类型的注释信息提供通用的访问方式。注释信息是随意的,换句话说,这种信息不是语言自身固有的,而是由你自己能够想象到的任何信息。你能使用属性(attributes)定义设计时信息&am…

理解AttributeUsage类

类定义: // 摘要: // 指定另一特性类的用法。 此类不能被继承。[Serializable][AttributeUsage(AttributeTargets.Class, Inherited true)][ComVisible(true)]public sealed class AttributeUsageAttribute : Attribute{// 摘要: // 用指定的 System.Attri…