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

   日期:2020-11-11     浏览:99    评论:0    
核心提示:一、多选题(不定项选择)在下面所列出的条目中,哪些是数据库管理系统的基本功能?A ‍‍ 数据库定义‍‍B ‍‍ 数据库的建立和维护‍‍C ‍‍ 数据库存取‍‍D 数据库和其他软件系统的通信在Mongodb支持的数据类型中,ObjectId:类似唯一主键,可以很快的去生成和排序,比如:"_id" : ObjectId(“5b151f8536409809ab2e6b26”),那么在小括号中的一串字符可以划分位哪几部分?‍‍A ‍‍ 时间戳‍‍B ‍‍ 机器码‍‍C 进程ID‍‍D 计

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

  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
 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服