软件测试面试----sql
记录软件测试时问到的SQL问题
1、用的什么sql?
2、sql中排序用啥,分组用啥,左连接怎么写
3、sql 有姓名,分数,课程三个字段,筛选出来分数大于90的学生
4、数据库的视图?
5、左连接、右连接、内连接是什么意思
6、sql 插入数据的命令
7、sql 只删除表数据,不删除表的配置,怎么删?
7、介绍一下索引
8、介绍窗口函数
select * , rank() over (partition by 班级号 order by 成绩 desc) ranks, dense_rank() over (partition by 班级号 order by 成绩 desc) dense_ranks, row_number() over(partition by 班级号 order by 成绩 desc) row_numbers from class;
此语句执行结果如下
select * , sum(成绩) over(order by 学号) c_sum,avg(成绩) over(order by 学号) c_avg,min(成绩) over(order by 学号) c_min,max(成绩) over(order by 学号) c_max,count(成绩) over(order by 学号) c_count from class
此语句执行结果如下
8、in 和 exists 的区别?
9、数据库中字符串、0、NULL 的区别是什么?
10、count(1)、count(*)、count(列名)的区别是什么?