![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 52
aoi.tsukasa
小白程序员,欢迎评论指出错误,讨论问题哦
展开
-
SQL-触发器
在MySQL中,创建触发器语法如下: CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_stmt 其中: trigger_name:标识触发器名称,用户自行指定; trigger_time:标识触发时机,取值为 BEFORE 或 AFTER; trigger_event:标识触发事件,取值为 INSERT、UPDATE 或 DELETE; tbl_name:标识建立触发器的表名,即原创 2021-08-15 14:47:58 · 137 阅读 · 0 评论 -
MySQL学习
1. 列类型 1.1 数值类型 类型 大小 范围(有符号) 范围(无符号) 用途 TINYINT 1 字节 (-128,127) (0,255) 小整数值 SMALLINT 2 字节 (-32 768,32 767) (0,65 535) 大整数值 MEDIUMINT 3 字节 (-8 388 608,8 388 607) (0,16 777 215) 大整数值 INT或INTEGER 4 字节 (-2 147 483 648,2 147 483 647) (原创 2021-08-15 14:25:34 · 175 阅读 · 0 评论 -
SQL-窗口函数
窗口函数可以进行排序,生成序列号等一般的聚合函数无法实现的高级操作。 RANK() 在计算排序时,若存在相同位次,会跳过之后的位次。 例如,有3条排在第1位时,排序为:1,1,1,4······ DENSE_RANK() 这就是题目中所用到的函数,在计算排序时,若存在相同位次,不会跳过之后的位次。 例如,有3条排在第1位时,排序为:1,1,1,2······ ROW_NUMBER() 这个函数赋予唯一的连续位次。 例如,有3条排在第1位时,排序为:1,2,3,4······ <窗口函数原创 2021-08-13 23:22:48 · 100 阅读 · 0 评论 -
SQL-不使用order by查找数据中第n个数
查找salary中第二大的数据,不使用order by,使用group by实现 首先通过自连接,查询每一个数据对应的大于等于它的数据 select * from salaries s1 join salaries s2 on s1.salary<=s2.salary 从上图的结果中我们可以看出右边的每一个salary都要大于等于左边的salary,这样我们就可以查找出没有一个数据对应有几个大于等于它的数据 通过group by对左边数据进行分组 se.原创 2021-08-13 17:23:02 · 347 阅读 · 0 评论