sql语句学习教程04_select运算符_select查询_select语句_sql查询语句
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)