SQL - NightXww/Notes GitHub Wiki

SQL

1. SELECT

  • 一些基本概念
  1. "%"是万用字符,可以用以代表任何字符。
  2. "_"是万用字符,可以用以代表任何单个字符。
  3. 关系型运算符优先级高到低为:NOT>AND>OR。
  4. ORDER BY : 默认为升序ASC,降序则是DESC。
  5. 引号字符串中的单引号需要用两个单引号来表示。
  6. IN语句做真假判断,返回值0或1。
  7. SELECT DISTINCT 列名称 FROM 表名称:仅仅列出不同(distinct)的值。
  8. HAVING用于筛选聚合函数的输出值,一般与GROUP BY合用,放在GROUP BY之后。
  9. 相关子查询 : 相关子查询的执行依赖于外部查询。多数情况下是子查询的WHERE子句中引用了外部查询的表。执行过程: (1)从外层查询中取出一个元组,将元组相关列的值传给内层查询。 (2)执行内层查询,得到子查询操作的值。 (3)外查询根据子查询返回的结果或结果集得到满足条件的行。 (4)然后外层查询取出下一个元组重复做步骤1-3,直到外层的元组全部处理完毕。
  10. LEFT JOIN : 会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。
  11. RIGHT JOIN : 会从右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行。
  12. INNER JOIN : 在表中存在至少一个匹配时,INNER JOIN 关键字返回行。
  13. LIMIT : 是mysql的语法。 select * from tablename limit m,n 其中m是指记录开始的index,从0开始,表示第一条记录,n是指从第m+1条开始,取n条。 select * from tablename limit 2,4 即取出第3条至第6条,4条记录。

2. 函数

  • 核心聚合函数

AVG( ),COUNT( ),MAX( ),MIN( ),SUM( )

  • CONCAT 连接字符串

CONCAT(s1, s2 ...)

  • REPLACE

REPLACE(f, s1, s2)

  • COALESCE 返回首个非空值

COALESCE(s1, s2 ...)

3.其他

  1. 元音字母“Ü”输入方法为“alt+0220”即可。