• 软件测试之数据库面试题


    第一期:

    学生表(学生id,姓名,性别,分数) )student(s_id, name, sex, score)

    班级表(班级id,班级名称) class(c_id, c_name)

    学生班级表(班级id,学生id) student_class(s_id,c_id)

    1.查询一班得分在80分以上或者等于60,61,62的学生

    2.査询所有班级的名称,和所有版中女生人数和女生的平均分。

    答案: 

    (1)SELECT s.s_id,s.name,s.score,sc.c_id,c.c_name from student s LEFT JOIN student_class sc on s.s_id = sc.s_id LEFT JOIN class c on sc.c_id=c.c_id where (s.score>80 or s.score in(60,61,62)) and c.c_name='一班';

    (2)SELECT sc.s_id,c.c_name,COUNT(s.sex),AVG(s.score) from student_class sc LEFT JOIN class c on sc.c_id=c.c_id LEFT JOIN student s on sc.s_id = s.s_id where s.sex='女' group BY c.c_name ORDER BY c.c_id asc;

    第二期:

    sql语句应该考虑哪些安全性? 

    答案:

    (1)防止sql注入,对特殊字符进行转义,过滤或者使用预编译的sql语句绑定变量。 
    (2)最小权限原则,特别是不要用root账户,为不同的类型的动作或者组建使用不同的账户。 
    (3)当sql运行出错时,不要把数据库返回的错误信息全部显示给用户,以防止泄漏服务器和数据库相关信息。

    第三期:

    用一条 SQL语句查询出每门课都大于 80 分的学生姓名?

    答案:

    select name from student where name not in (select  name from student where fenshu <=80);

    第四期:

    MySQL外连接、内连接的区别?

    答案:

    内连接 

    连接的数据表相对应的匹配字段完全相等的连接。连接关键字是 inner join

    外连接

    分为左外连接与右外连接、全连接。

    左连接的结果集包括指定的左表全部数据与匹配的右表数据,右表中没匹配的全为空值.关键字 left join

    右连接的结果集包含指定的右表全部数据与匹配的左边数据,左边中没匹配的全为空值.关键字 right join

    全连接返回左右数据表的所有行.关键字 full join

    第五期:

    什么是数据库事务?

    答案:

    单个逻辑单元执行的一系列操作,这些操作要么全做要么全不做,是不可分割的.事务的开始和结束用户是可以控制的,如果没控制则由数据库默认的划分事务.事务具有以下性质:

    (1)原子性

        指一个事务要么全执行,要么全不执行.也就是说一个事务不可能执行到一半就停止了.比如:你去买东西,钱付掉了,东西没拿.这两步必须同时执行 ,要么都不执行.

    (2)一致性

       指事务的运行并不改变数据库中的一致性.比如 a+b=10;a改变了,b也应该随之改变.

    (3)独立性

       两个以上的事务不会出现交替运行的状态,因为这样可能导致数据的不一致

    (4)持久性

       事务运行成功之后数据库的更新是永久的

    第六期:

    union 与union all的区别?

    答案: 

    union 在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排 序运算,删除重复的记录再返回结果。

     union all 则会显示重复结果,只是简单的两个结果合并并返回.所以效率比union高,在保证没有重复数据的情况下用union all.

  • 相关阅读:
    学习python -- 第018天 os模块
    学习python -- 第017天 文件读写
    重看算法 -- 动态规划 最大子段和问题
    重看算法 -- 递归与分治
    学习python -- 第016天 模块
    学习python -- 第016天 浅拷贝和深拷贝
    网络字节序、主机字节序(摘抄)
    C++/C常量
    结构化程序设计
    循环(高质量4.10)
  • 原文地址:https://www.cnblogs.com/LWK5100/p/14234839.html
Copyright © 2020-2023  润新知