一、算术运算符
算术运算符包括+
、-
、*
、/
、%
,它是以某列为单位执行的。
select product_name,sale_price,sale_price*2 as "sale_price*2" from Product;
注意:如果该行进行算术运算的那一列的单元格为NULL,则算术运算的结果都为NULL。
NULL/0 #结果为NULL
1 + NULL #结果为NULL
二、比较运算符
运算符 | 含义 |
---|---|
= | 等于 |
< > 或 != | 不等于 |
>= | 大于等于 |
> | 大于 |
<= | 小于等于 |
< | 小于 |
比较运算符一般用于条件判断语句中
select product_name,product_type,sale_price from Product WHERE sale_price >= 1000;
注意:
1.字符串类型的数据原则上按照字典顺序进行排序,不能与数字的大小顺序混淆。
'1-3' < '2' # true
'2010-10-19' > '2010-5-8' # false
2.无法通过比较运算符选中值为NULL的数据
判断一条记录是否为空需要使用 IS NULL 或 IS NOT NULL
select product_name,purchase_price from Product where purchase_price IS NULL;
三、逻辑运算符
运算符 | 作用 |
---|---|
NOT | 非,表是相反 |
AND | 与 |
OR | 或 |
1.NOT运算符
NOT不能单独使用,必须和其他查询条件组合起来用
select * from Product where not sale_price >= 1000;
# 等价于 sale_price < 1000
2.AND 和 OR
- AND表示在其两侧的查询条件都成立时整个查询条件才成了
- OR表示在其两侧的查询条件有一个成立时整个查询条件就成立
select * from Product where product_type = '办公用品' and (regist_date = '2009-09-11' or regist_date = '2009-09-20');
注:
-
AND运算符的优先级高于OR运算符。想要有限执行OR运算符时必须使用括号
-
逻辑运算符与NULL运算符之间运算的结果既不是true也不是false,而是第三种结果不确定,所以需要注意