>, <, !=, =, <>, <=, >=
&&, ||, !, and, or, NOT
LIKE, BETWEEN AND, IN, IS NULL
LIKE:
%: 任意多个字符 // 特别注意通配符是%不是*
_: 任意单个字符
转义 ESCAPE: 默认 ESCAPE
/: /_ -> 下划线
指定 ESCAPE
LIKE '_$_' ESCAPE '$'; -> 使用$作为转义符号
BETWEEN AND 可以取到临界值但是不能调换位置
SELECT 查询列表
FROM 表
【WHERE CONDITION】
ORDER BY 排序列表 [asc|desc], field_2 [asc|desc];
ORDER BY 一般放在查询语句最后 除 LIMIT 子句
ORDER BY:
常见错误:
SELECT
*, salary*12*(1+IFNULL(commission_pct,0)) AS `annual salary`
FROM
employees
ORDER BY
"annual salary" DESC; <-- 无效
`annual salary` DESC; <-- Right
反引号、单引号、双引号的区别:
`: 用于区别 保留关键字 与 变量名(字段名)等
': 用于表示文本值
": 只在MYSQL适用,推荐使用'
字节长度 LENGTH(str)
封装的一组逻辑语句,对外暴露方法名
Syntax:
SELECT FUNCTION(args) [FROM TABLE_NAME]
CONCAT(str1,str2,...), LENGTH(str), IFNULL(expr1,expr2)...
SELECT STR_TO_DATE('1998-3-2','%Y-%c-%d');
分组函数 (统计作用, 聚合函数)
SUM(), AVG(): 支持 数值
MAX(), MIN(): 支持 数值,日期,字符 (因为日期和字符都可以排序)
COUNT(): 计算非空的个数
SUM([DISTINCT] expr)
COUNT([DISTINCT] expr)
COUNT 函数使用:
COUNT(*): 统计总行数(只要每条记录有一条不为null,就计数)
COUNT(1): 统计总行数(相当于加了一个字段使值都为1)
# 不使用GROUP BY对记录进行分组那么默认就是以行进行分组(哪怕说记录的值是相同的)
* 要求是GROUP BY之后的字段
如 AVG(salary), employee_id 一起查询没有意义,因为AVG输出只有一个值
本文由 Frank采用 署名 4.0 国际 (CC BY 4.0)许可
SQL — 2021年9月17日
Made with ❤ and at Hangzhou.