- 算术运算符
select 123 + 543, 321 * 5, -456 / 2, 10 % 3, 2 / 0, 3 % 0;
- select除了能查询外,还能输出内容
- 比较运算符
运算符 | 作用 |
---|---|
= | 等于 |
<>或!= | 不等于 |
<=> | NULL安全的等于(NULL-safe) |
< | 小于 |
<= | 小于等于 |
> | 大于 |
>= | 大于等于 |
BETWEEN | 存在于指定范围 |
IN | 存在于指定集合 |
IS NULL | 为NULL |
IS NOT NULL | 不为NULL |
like | 通配符匹配 |
regexp 或 rlike | 正则表达式匹配 |
- 常规比较
select 1=2, 2<3, 3<=4, 4>5, 5>=3, 8!=9, 'abc' = 'ABC', 'z' > 'a';
- 范围比较
select 123 between 100 and 200, 'b' in ('a', 'b', 'c');
- null 比较
select 12 is null, 23 = null, null = null, null <=> null, null is null, 32 is not null;
—判断是否为空,不能使用=,只能使用 is,<=>
-
模糊比较like:是一个用于在
WHERE
子句中搜索列中的指定模式的 SQL 操作符。它通常与%
(表示任意数量的字符)和_
(表示单个字符)一起使用,来执行模糊匹配。– 部分匹配
select * from table_name where column_name like 'pattern%'; --返回column_name中以'pattern'开头的所有行
select * from table_name where column_name like '%pattern%'; --返回column_name中包含'pattern'的所有行,无论它出现在哪个位置,
select * from table_name where column_name like '%pattern'; --返回column_name中以'pattern'结尾的所有行
select 'helloworld' like '%hello'; ---输出:0
select 'helloworld' like 'hello%'; ---输出:1
select 'goodhelloworld' like '%hell0'; ---输出:1
– 单字符匹配:'-'下划线对应一个字符
select * from table_name where column_name like 'pattern_';--返回column_name中包含'pattern'后面跟着任意单个字符的所有行
– 不区分大小写匹配
select * from table_name where column_name like 'pattern' collate utf8_general_ci;
– 转义字符:如模式中包含%或_,可以使用转义字符’\’来进行转义
select * from table_name where column_name like '10\% discount%';
- 逻辑运算符
运算符 | 作用 |
---|---|
NOT 或 ! | 逻辑非 |
and 或 && | 逻辑与 |
or 或 || | 逻辑或 |
xor | 逻辑异或 |