乐趣区

面试数据库相关

1. 有如下数据,怎么查询显示结果为 张三,北京 河北,12:00

name      address     arrive_time 
张三       北京        10:00  
张三       河北        12:00  

SELECT name, GROUP_CONCAT(DISTINCT address SEPARATOR ' ') AS address, max(arrive_time) AS arrive_time
FROM mytable
GROUP BY name;

2. 如何查询重复数据?

SELECT * FROM student GROUP BY name HAVING count(name) > 1

3. 查询结果如何去重?

distinct 关键字或者 group by

4.Oracle 数据库分页查询

select a1.* 
from (select student.*,rownum rn from student where rownum <=5) a1 
where rn >=3;

5.delete、truncate、drop 都是删除语句,他们的区别是什么

 在速度上,一般来说,drop> truncate > delete
delete 用于删除部分数据
truncate 删除整个表然后重新创建这个表(相当于清空了表数据)drop 摧毁整个表 

6. 数据库主键和外键作用
7.where 和 having 的区别
8.union 和 union all 的区别
9. 数据库事务正确执行的四个基本要素是什么
10. 有如下数据,查询出每门课都大于 80 分的学生姓名

name    class    score
蔡徐坤    语文    80
蔡徐坤    英语    55
吴亦凡    语文    100
吴亦凡    英语    90
邓紫棋    英语    85
邓紫棋    数学    70
邓紫棋    语文    95

select name from table group by name having min(score)>80

11. 数据库优化策略

退出移动版