数据库
主键/外键
第一范式
第二范式
第三范式
索引
- 什么是索引:
-
索引作用
- 索引与非索引区别:
- Mysql复合索引:
数据库引擎
数据库锁
- 悲观锁
- 乐观锁
数据语句
- oder by
- asc/desc:升序(由小到大)/降序(由大到小),数据库默认asc(升序)
- groud by(https://www.cnblogs.com/8335IT/p/5850531.html)
-
HAVING语句通常与GROUP BY语句联合使用,用来过滤由GROUP BY语句返回的记录集。
HAVING语句的存在弥补了WHERE关键字不能与聚合函数联合使用的不足。
-
举例:
- 一个表Student(学号,课程,成绩),如何统计前十名学生成绩
- select * from Studen oder by 成绩 limit 10(查询单科成绩前十)
- select sum(成绩) studentj,学号 from Student groud by 学号 oder by studentj desc limit 10(将总成绩命名为studentj,并且以学号分组,查询总成绩排名前十学生)
- 求各科排名第一(小西 语文 92,小明 英语 92,小明 数学 91)
- select * from result a where a.score in (select max(b.score) from result b where b.subject=a.subject);
- 求排名第二的信息
-
limit 下标是从0开始的,limit 1,1 表示从第2个往后一个,就是第二名
select * from tb_emp ORDER BY sal desc LIMIT 1,1
-
-
求学生姓名和总成绩,并且总成绩前500名
-
select b.name a.sumscore from(select 学生id sum(score) sumscore from score where sumscore>500) a join student b on a.学生id=b.学生id
-