MySQL中的+号只有一个作用 运算符
select 100+90; 两个操作数都为数值型 则做加法运算
select ‘123’+90; 只要其中一方为字符型,试图将字符型数值转为数值型
select ‘tom’+90; 如果转换成功 则继续做加法运算
如果转换失败 则将字符型数值转成0
select null+0; 只要其中一方为null 则结果肯定为null
拼接字段
select concat(id,product_name) as shops from new_shop;
concat()里面这样写是 无缝直接拼一起 如果需要逗号或其他隔开 则 concat(id,’,’,product_name)
这样value也会逗号隔开
拼接后的新字段的值 也 拼接在一起
ifnull() 函数
select ifnull(commission_pct,0) as 奖金率,id from employees;
如果commission_pct的value为null 则 commission_pct的value为0 这样查询出来有两个字段 一个为奖金率 一个 为commission_pct
条件查询
语法: select 查询列表 from 表名 where 筛选条件;
分类:
一、按条件表达式筛选
条件运算符:> < = != <> >= <=
二、按逻辑表达式筛选
&& || !
三、模糊查询
like
特点:1、一般和通配符搭配使用
通配符:
% 任意多个字符,包含0个字符
_ 任意单个字符
between and
1、使用between and 可以提高语句的简洁度
2、包含两个临界值
3、两个临界值不要调换顺序
in
含义:判断某字段的值是否属于in列表中的某一项
特点:
1、使用in提高语句简洁度
2、in列表的值类型必须一致或兼容
3、不支持用%
is
只能判断null 不能判断数值
安全等于
<=>
含义 是判断是否等于 可以判断null 也可以判断普通的数值
缺点: 可读性差 不易理解
按逻辑运算符查询
*四、转义字符 *
select last_name from employees where last_name like '_\_%' 查询第二个字符为下划线的字段value
select last_name from employees where last_name like '_$_%' escape '$';
用 between and ( 包含端点)
in
-
is
安全等于
<=>