当前位置:   article > 正文

几道特别难搞的数据库面试题

几道特别难搞的数据库面试题

一、多选题(不定项选择)

  1. 在下面所列出的条目中,哪些是数据库管理系统的基本功能?
    A ‍‍ 数据库定义‍‍
    B ‍‍ 数据库的建立和维护‍‍
    C ‍‍ 数据库存取‍‍
    D 数据库和其他软件系统的通信
  2. 在Mongodb支持的数据类型中,ObjectId:类似唯一主键,可以很快的去生成和排序,比如:"_id" : ObjectId(“5b151f8536409809ab2e6b26”),那么在小括号中的一串字符可以划分位哪几部分?‍‍
    A ‍‍ 时间戳‍‍
    B ‍‍ 机器码‍‍
    C 进程ID‍‍
    D 计数器
    E 转义码
  3. 下列哪些属于NoSQL数据库的特征?‍‍‍‍
    A 高可扩展性‍‍
    B 分布式计算‍‍
    C 低成本‍‍
    D 没有标准化‍‍

二、编程题

  1. 表名:subway,包含3个字段:id(线路编号)、stop(站点)、sequence(站点序列)。‍‍‍‍如下,请写出以下SQL语句:‍‍‍‍‍‍
    在这里插入图片描述
    找出站点名称包含“人民”的所有记录。‍‍ stop like ”人民%”


     
  2. 表名:subway,包含3个字段:id(线路编号)、stop(站点)、sequence(站点序列)。‍‍‍‍如下,请写出以下SQL语句:‍‍
    在这里插入图片描述
    ‍‍找出途径线路数最多的站点。‍‍ 考虑一下每个地铁站点有多少趟地铁通过


     
  3. 表名:subway,包含3个字段:id(线路编号)、stop(站点)、sequence(站点序列)。如下,请写出以下SQL语句:
    在这里插入图片描述
    已知站点A和B,判断是否可以直达。(就是查看包含A和B站点的地铁)不换乘


     
  4. 农作物表
    在这里插入图片描述
    ‍‍查询出来哪些省份棉花或者小麦产量高于水稻产量(本省)。同省份 内表的查询离不开外表的支持 写法:子查询加别名


     
  5. 为管理业务培训信息,建立3个表:
    S(S#,SN.SD,SA),S#,SN,SD,SA 分别代表学号,学员姓名,所属单位,学员年龄
    C(C#.CN),C#,CN分别代表课程编号,课程名称
    SC(S#,C#,G) ,S#.C#,G 分别代表学号,所选的课程编号,学习成绩
    使用标准SQL嵌套语句查询选修课程名称为"税收基础”的学员学号和姓名?
    嵌套查询的思想:由条件来推结果


     
  6. 为管理业务培训信息,建立3个表:
    S(S#,SN.SD,SA),S#,SN,SD,SA 分别代表学号,学员姓名,所属单位,学员年龄
    C(C#.CN),C#,CN分别代表课程编号,课程名称
    SC(S#,C#,G) ,S#.C#,G 分别代表学号,所选的课程编号,学习成绩
    使用标准SQL嵌套语句查询不选修课程编号为" C5’的学员姓名和所属单位?


     
  7. 为管理业务培训信息,建立3个表:
    S(S#,SN.SD,SA),S#,SN,SD,SA 分别代表学号,学员姓名,所属单位,学员年龄
    C(C#.CN),C#,CN分别代表课程编号,课程名称
    SC(S#,C#,G) ,S#.C#,G 分别代表学号,所选的课程编号,学习成绩
    查询选修课程超过5门的学员学号和所属单位?


     
  8. 在数据库有四个表:分别为
    student(sid,sname,sage,ssex)
    teacher(tid,tname)
    course(cid,cname,tid)
    sc(sid,cid,score)‍‍
    ‍‍查询出只选修了一门课程的全部同学的学号、姓名‍‍


     
  9. SQL操作,有两张表,如下图所示‍‍ 表连接的条件查询操作
    ‍‍订单表:A‍‍
    在这里插入图片描述
    ‍‍订单明细表:B‍‍
    在这里插入图片描述
    ‍‍用SQL查询2017年7月1号后(含7月1号)购买过1001这个商品的user_id和order_id、goods_id和price‍‍


     
  10. 下面是学生成绩表(score)结构说明‍‍
    在这里插入图片描述
    下面是课程表(course)说明‍‍
    在这里插入图片描述
    要查找所有需要补考的学生姓名和这门课程的名称和成绩,请写出相应的SQL语句


     
  11. 表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


     
  12. 数据库由以下四个关系模式构成:
    供应商表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中删去。‍‍‍‍


     
  13. 数据库由以下四个关系模式构成:‍‍
    供应商表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


     

三、选择题参考答案

  1. ABC
  2. ABCD
  3. ABCD

四、语句题参考答案

  1. select * from subway where stop like ‘%人民%’;
    select * from subway where stop like ‘人民%’;
  2. select stop,count(id)
    from subway
    group by stop
    order by count(id) desc
    limit 1;
  3. select id from subway where id in (select id from subway where stop=’A’) and id in(select id from subway where stop=’B’);
  4. select 省份 from 农作物表n where 农作物 in(‘棉花’,‘小麦’) and 产量(万吨)>(select 产量(万吨) from 农作物表 a where 农作物=‘水稻’ and a.省份=n.省份);
  5. select s#,sn from s where s# in(
    select s# from sc where c# in(
    select c# from c where cn=’税收基础’))
  6. 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’);
  7. select s# ,sd from s where s# in (select s# from sc group by s# having count(*)>5)
  8. select sid,sname from student where sid in(select sid from sc group by sid having count(*)=1)
  9. 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’;
  10. select sc_name,sc_score,co_name
    from score,course
    where score.sc_courseid=course.co_id and sc_ismakeup=’1’;
  11. 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’);
  12. delete from J where j# in (select j# from spj where qty is null or qty=0);
  13. select j#
    from spj
    where p# in (select p# from p where pname=’p1’)
    group by p#
    having avg(qty) >10

作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:开心螺蛳粉】自提!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。在这里插入图片描述

在这里插入图片描述

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群:1150305204,里面有各种测试开发资料和技术可以一起交流哦。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/498787
推荐阅读
相关标签
  

闽ICP备14008679号