sql语句学习教程04_select运算符_select查询_select语句_sql查询语句

教程发布:风哥 教程分类:MySQL教程 更新日期:2020-03-05 浏览学习:2499

sql语句学习教程04_select运算符_select查询_select语句_sql查询语句
MySQL除了支持常规的数学运算符,还有其他诸如比较、范围、逻辑、位操作等运算符,这里我们列举一些常见的运算符。

1.数学运算符
运算符 说明
+ 加法,例如:1+2,  unit_price+10, now() + 1
- 减法,例如:3-1,  unit_price-10, curdate()-1
* 乘法,例如:2*3,  unit_price*1.15
/ 除法,等同于DIV,例如:3/2,  unit_price/1.15, 3 DIV 2
% 求余,等同于MOD,例如:3%2, 5%2, 5 MOD 2
案例:
fgedu.net@ mysql> select 1+2, 1-2, 5/2, 5 mod 2, now(), now()+1;
+-----+-----+--------+---------+---------------------+----------------------------------+
| 1+2 | 1-2 | 5/2    | 5 mod 2 | now()               | now()+1          |
+-----+-----+--------+---------+---------------------+-----------------------------------+
|   3 |  -1 | 2.5000 |       1 | 2019-09-01 10:01:58 | 20190901100159 |
+-----+-----+--------+---------+---------------------+-------------------------------------+
1 row in set (0.00 sec)

2.比较运算符
运算符 说明
= 等于,例如:unit_price=10, age=18, name='张翠山'
> 大于,例如:unit_price>10, age>18
< 小于,例如:unit_price<10, age<18
>= 大于等于,例如:unit_price>=10, age>=18
<= 小于等于,例如:unit_price<=10, age<=18
<> 不等于,例如:dept<>'HR', status<>0
!= 不等于,同上;
[not] BETWEEN AND 在指定范围区间内,例如:age between 50 and 60
[not] IN 在指定结果集内,例如:dept in ('HR','ADMIN')
IS [not] NULL 为空,例如:dept is null
[not] LIKE 模糊查找,例如:name like 'Al%'

案例:部门、人员信息调整后,检查是否有未设置部门的员工。
fgedu.net@ mysql> select * from fgedu_yg where department_id is null;
+-------------+------------+-----------+--------+--------------------+---------------------+--------+---------+----------------+------------+---------------+
| EMPLOYEE_ID | FIRST_NAME | LAST_NAME | EMAIL  | PHONE_NUMBER       | HIRE_DATE           | JOB_ID | SALARY  | COMMISSION_PCT | MANAGER_ID | DEPARTMENT_ID |
+-------------+------------+-----------+--------+--------------------+---------------------+--------+---------+----------------+------------+---------------+
|         178 | Kimberely  | Grant     | KGRANT | 011.44.1644.429263 | 2007-05-24 00:00:00 | SA_REP | 7000.00 |           0.15 |        149 |          NULL |
+-------------+------------+-----------+--------+--------------------+---------------------+--------+---------+----------------+------------+---------------+
1 row in set (0.00 sec)

3.逻辑运算符
逻辑运算符是用来判断表达式的结果值,逻辑值只有真和假两种结果,MySQL中通过1和0来表示,1表示真,0表示假。
运算符 说明
NOT(!) 非,用于否定,真的否定结果为假,假的否定结果为真;
例如:!0, not 1
AND(&&) 与,两边都要为真才返回真,任意一方为假,结果就为假;
例如:1 and 1, 1 and 0
OR(||) 或,两边条件,只要有一方为真,就返回真
例如:1 or 0, 1 or 1, 0 or 0
XOR 异或,两边条件,不同的情况下为真,相同反而为假(遇到NULL值返回NULL)
例如:1 xor 1, 1 xor 0

案例:
fgedu.net@ mysql> select !0, 1 and 0, 0 or 1, 1 xor 1, 1 xor 0;
+----+---------+--------+---------+-------------------+
| !0 | 1 and 0 | 0 or 1 | 1 xor 1 | 1 xor 0 |
+----+---------+--------+---------+-------------------+
|  1 |       0 |      1 |       0 |       1 |
+----+---------+--------+---------+-------------------+
1 row in set (0.00 sec)

网站声明:本文由风哥整理发布,转载请保留此段声明,本站所有内容将不对其使用后果做任何承诺,请读者谨慎使用!
【上一篇】sql语句学习教程05_select排序_select分组_select查询_select语句_sql查询语句
【下一篇】sql语句学习教程03_select_select查询_select语句_sql查询语句