
数据库
1加一
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MySQL case when 用法
MySQL 的 case when 的语法有两种: 简单函数 CASE [col_name] WHEN [value1] THEN [result1]…ELSE [default] END 搜索函数 CASE WHEN [expr] THEN [result1]…ELSE [default] END 注意:简单函数和搜索函数的区别,简单函数case后面有字段,when是值。搜索函数case没有,when 后面是表达式 ...原创 2021-02-09 11:25:41 · 528 阅读 · 0 评论 -
You can‘t specify target table ‘表名‘ for update in FROM clause错误
环境:MySQL8.0 比如我要将用户表里名字(name)为空字符串("")的用户的状态(status)改成"1", 我的写的SQL如下: UPDATE user_info SET STATUS = '1' WHERE USER_ID IN (SELECT USER_ID FROM user_info WHERE NAME != ''); 但是报了如下错误: You can’t specify target table ‘user_info’ for update in FROM clause 因为在MY原创 2021-02-08 23:39:53 · 193 阅读 · 0 评论 -
MySQL SQL语句执行顺序
sql执行顺序 from join on where group by(开始使用select中的别名,后面的语句中都可以使用) avg,sum… having select distinct order by limit原创 2021-02-08 23:23:59 · 208 阅读 · 0 评论 -
LENGTH()和CHAR_LENGTH()的区别
1、char_length(str) (1)计算单位:字符 (2)不管汉字还是数字或者是字母都算是一个字符 2、length(str) (1)计算单位:字节 (2)utf8编码:一个汉字三个字节,一个数字或字母一个字节。 (3)gbk编码:一个汉字两个字节,一个数字或字母一个字节。 ...原创 2021-02-08 17:34:28 · 1898 阅读 · 0 评论 -
MYSQL实现排名函数RANK,DENSE_RANK和ROW_NUMBER
1. 排名分类 1.1 区别RANK,DENSE_RANK和ROW_NUMBER RANK并列跳跃排名,并列即相同的值,相同的值保留重复名次,遇到下一个不同值时,跳跃到总共的排名。 DENSE_RANK并列连续排序,并列即相同的值,相同的值保留重复名次,遇到下一个不同值时,依然按照连续数字排名。 ROW_NUMBER连续排名,即使相同的值,依旧按照连续数字进行排名。 区别如图: 1.2 分组排名 将数据分组后排名,区别如图: 2. 准备数据 创建一张分数表,里面有字段:分数score,课程号course原创 2021-02-08 16:28:48 · 503 阅读 · 0 评论 -
图解MySQL 内连接、外连接、左连接、右连接、全连接
用两个表(a_table、b_table),关联字段a_table.a_id和b_table.b_id来演示一下MySQL的内连接、外连接( 左(外)连接、右(外)连接、全(外)连接)。 MySQL版本:Server version: 5.6.31 MySQL Community Server (GPL) 数据库表:a_table、b_table 主题:内连接、左连接(左外连接)、右连接(右...转载 2019-04-24 18:24:22 · 144 阅读 · 0 评论 -
SQL语句执行顺序
SQL Select语句完整的执行顺序: 1、from子句组装来自不同数据源的数据; 2、where子句基于指定的条件对记录行进行筛选; 3、group by子句将数据划分为多个分组; 4、使用聚集函数进行计算; 5、使用having子句筛选分组; 6、计算所有的表达式; 7、select 的字段; 8、使用order by对结果集进行排序。 SQL语言不同于其他编...转载 2019-04-25 14:28:47 · 150 阅读 · 0 评论