几道特别难搞的数据库面试题
日期:2020-11-11
浏览:
99 评论:0
核心提示:一、多选题(不定项选择)在下面所列出的条目中,哪些是数据库管理系统的基本功能?A 数据库定义B 数据库的建立和维护C 数据库存取D 数据库和其他软件系统的通信在Mongodb支持的数据类型中,ObjectId:类似唯一主键,可以很快的去生成和排序,比如:"_id" : ObjectId(“5b151f8536409809ab2e6b26”),那么在小括号中的一串字符可以划分位哪几部分?A 时间戳B 机器码C 进程IDD 计
一、多选题(不定项选择)
- 在下面所列出的条目中,哪些是数据库管理系统的基本功能?
A 数据库定义
B 数据库的建立和维护
C 数据库存取
D 数据库和其他软件系统的通信
- 在Mongodb支持的数据类型中,ObjectId:类似唯一主键,可以很快的去生成和排序,比如:"_id" : ObjectId(“5b151f8536409809ab2e6b26”),那么在小括号中的一串字符可以划分位哪几部分?
A 时间戳
B 机器码
C 进程ID
D 计数器
E 转义码
- 下列哪些属于NoSQL数据库的特征?
A 高可扩展性
B 分布式计算
C 低成本
D 没有标准化
二、编程题
- 表名:subway,包含3个字段:id(线路编号)、stop(站点)、sequence(站点序列)。如下,请写出以下SQL语句:
找出站点名称包含“人民”的所有记录。 stop like ”人民%”
- 表名:subway,包含3个字段:id(线路编号)、stop(站点)、sequence(站点序列)。如下,请写出以下SQL语句:
找出途径线路数最多的站点。 考虑一下每个地铁站点有多少趟地铁通过
- 表名:subway,包含3个字段:id(线路编号)、stop(站点)、sequence(站点序列)。如下,请写出以下SQL语句:
已知站点A和B,判断是否可以直达。(就是查看包含A和B站点的地铁)不换乘
- 农作物表
查询出来哪些省份棉花或者小麦产量高于水稻产量(本省)。同省份 内表的查询离不开外表的支持 写法:子查询加别名
- 为管理业务培训信息,建立3个表:
S(S#,SN.SD,SA),S#,SN,SD,SA 分别代表学号,学员姓名,所属单位,学员年龄
C(C#.CN),C#,CN分别代表课程编号,课程名称
SC(S#,C#,G) ,S#.C#,G 分别代表学号,所选的课程编号,学习成绩
使用标准SQL嵌套语句查询选修课程名称为"税收基础”的学员学号和姓名?
嵌套查询的思想:由条件来推结果
- 为管理业务培训信息,建立3个表:
S(S#,SN.SD,SA),S#,SN,SD,SA 分别代表学号,学员姓名,所属单位,学员年龄
C(C#.CN),C#,CN分别代表课程编号,课程名称
SC(S#,C#,G) ,S#.C#,G 分别代表学号,所选的课程编号,学习成绩
使用标准SQL嵌套语句查询不选修课程编号为" C5’的学员姓名和所属单位?
- 为管理业务培训信息,建立3个表:
S(S#,SN.SD,SA),S#,SN,SD,SA 分别代表学号,学员姓名,所属单位,学员年龄
C(C#.CN),C#,CN分别代表课程编号,课程名称
SC(S#,C#,G) ,S#.C#,G 分别代表学号,所选的课程编号,学习成绩
查询选修课程超过5门的学员学号和所属单位?
- 在数据库有四个表:分别为
student(sid,sname,sage,ssex)
teacher(tid,tname)
course(cid,cname,tid)
sc(sid,cid,score)
查询出只选修了一门课程的全部同学的学号、姓名
- SQL操作,有两张表,如下图所示 表连接的条件查询操作
订单表:A
订单明细表:B
用SQL查询2017年7月1号后(含7月1号)购买过1001这个商品的user_id和order_id、goods_id和price
- 下面是学生成绩表(score)结构说明
下面是课程表(course)说明
要查找所有需要补考的学生姓名和这门课程的名称和成绩,请写出相应的SQL语句
- 表1:nm_capes2_template_def表(name与表2的schema关联)
表2:nm_capes2_run_info表(prov_code为省代码,schema与1表的name关联,status为1有效,为0无效)
更新省代码为100、kpi_id为CB_001的text内容为aaaaa
- 数据库由以下四个关系模式构成:
供应商表S(S#,SNAME,STATAUS,CITY)
零件表:P(P#,PNAME,COLOR,WEIGHT,CITY)
工程项目表:J(J#,JNAME,CITY)
供应商-零件-工程项目表:SPJ(S#,P#,J#,QTY数量) 为空 为0 曾经有数量 用完了
供应商S,零件P和工程项目J分别由供应商(S#),零件号(P#)和工程项目号(J#)唯一标识,供货SPJ是反映某个工程项目供应某些数量的某种零件。
问题:将没有供货的所有工程项目从J中删去。
- 数据库由以下四个关系模式构成:
供应商表S(S#,SNAME,STATAUS,CITY)
零件表:P(P#,PNAME,COLOR,WEIGHT,CITY)
工程项目表:J(J#,JNAME,CITY)
供应商-零件-工程项目表:SPJ(S#,P#,J#,QTY)
供应商S,零件P和工程项目J分别由供应商(S#),零件号(P#)和工程项目号(J#)唯一标识,供货SPJ是反映某个工程项目供应某些数量的某种零件。
查询这样的工程项目号:供给该工程项目的零件P1的平均供应量大于10
三、选择题参考答案
- ABC
- ABCD
- ABCD
四、语句题参考答案
- select * from subway where stop like ‘%人民%’;
select * from subway where stop like ‘人民%’;
- select stop,count(id)
from subway
group by stop
order by count(id) desc
limit 1;
- select id from subway where id in (select id from subway where stop=’A’) and id in(select id from subway where stop=’B’);
- select 省份 from 农作物表n where 农作物 in(‘棉花’,‘小麦’) and 产量(万吨)>(select 产量(万吨) from 农作物表 a where 农作物=‘水稻’ and a.省份=n.省份);
- select s#,sn from s where s# in(
select s# from sc where c# in(
select c# from c where cn=’税收基础’))
- select sn,sd from s where s# not in(select s# from sc where c#=’c5’);
select sn,sd from s where s# in(select s# from sc where c# !=’c5’);
- select s# ,sd from s where s# in (select s# from sc group by s# having count(*)>5)
- select sid,sname from student where sid in(select sid from sc group by sid having count(*)=1)
- select user_id,A.order_id,goods_id,price
from A,B
where A.order_id = B.orderid
and add_time=’2017-07-01’ and goods_id=’1001’;
- select sc_name,sc_score,co_name
from score,course
where score.sc_courseid=course.co_id and sc_ismakeup=’1’;
- update nm_capes2_template_def
set text=”aaaaa”
where name in
(select schema from nm_capes2_run_info where prov_code=’100’ and kpi_id=’CB_001’);
- delete from J where j# in (select j# from spj where qty is null or qty=0);
- select j#
from spj
where p# in (select p# from p where pname=’p1’)
group by p#
having avg(qty) >10
本文转载自:网络
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486