MySql语句复习

121 阅读1分钟

在大多数数据库管理系统(DBMS)中,SQL语句字符串中的位置索引是从1开始的,而不是从0开始。这意味着第一个字符的位置被表示为1,第二个字符的位置是2,依此类推。

  • instr(string,substring,start_position) 返回substring在string中第一次出现的位置 没有则返回0 不区分大小写 start_position 默认从1开始
  • locate(substring,string,start_position)返回substring在string中第一次出现的位置 没有则返回0 区分大小写 start_position 默认从1开始

SQL执行顺序

一般情况下,SQL查询的执行顺序是这样的:

  1. FROM: 数据库系统从指定的表中检索数据。
  2. WHERE: 对从表中检索的数据进行过滤,只选择满足条件的数据行。
  3. GROUP BY: 如果存在 GROUP BY 子句,数据将按照指定的列进行分组。
  4. HAVING: 对分组后的数据进行过滤,只选择满足条件的分组。
  5. SELECT: 选择查询中指定的列。
  6. ORDER BY: 对结果进行排序。
  7. LIMIT/OFFSET: 选择要返回的行数范围(通常用于分页)。
  • MySql不支持outer join 需要用left join union right join

  • union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复

  • MySQl判断某列是否为空,不能用=null 要用 is null