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数据库分页查询code
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的区别ci
Where子句中不能使用聚合函数 而Having子句中能够 having位于where后面
8.union和union all的区别数学
两者都是合并查询结果集,UNION用的比较多 union all是直接链接,取到得是全部值,记录可能有重复 union 是取惟一值,记录没有重复
9.数据库事务正确执行的四个基本要素是什么it
原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 持久性(Durability)
10.有以下数据,查询出每门课都大于80分的学生姓名io
name class score 蔡徐坤 语文 80 蔡徐坤 英语 55 吴亦凡 语文 100 吴亦凡 英语 90 邓紫棋 英语 85 邓紫棋 数学 70 邓紫棋 语文 95 select name from table group by name having min(score)>80
11.数据库优化策略
a.多条件查询时将更精准的条件放在前面 b.尽可能用in代替or c.尽可能查具体字段而不是无脑查* d.当只须要一条结果时能够在查询语句后面加一句rownum = 1或者limit 1 e.选用合适的数据库引擎 f.建立合适的索引