1、DISTINCT
select DISTINCT EMPLOYEE_ID ,FIRST_NAME from employees
按照ID去重,DISTINCT的字段要放在前面,不会再继续在FIRST_NAME上去重判断;
如果需要多字段去重,需要用到group by,这个后面讲;
2、+号
MySQL中+只有运算符功能
select 10+11 两个操作数都为数值型,则做加法运算;
select '123'+10 其中一方为字符型,试图将字符数值类型转换成数值型,
转换成功,则继续加法运算
失败则数值转为0
select null+10; 只有其中一方为null,则值为null;
3、concat 字符拼接
select concat('a','b','c') as result
select CONCAT(last_name,first_name) AS '姓名' from employees;
4、安全等于 <=>
SELECT last_name,commission_pct FROM employees where commission_pct <=> null;
安全等于 <=> 可以判断空与非空
is null 只能判断非空;
5、排序查询_普通
select * from 表 【where 筛选条件】 order by 【asc|desc】 ;默认是升序
SELECT * from employees order by salary desc;
6、排序查询_按表达式
select * salary*12*(1+IFNULL(commission_pct,0)) 年薪 from employees order by 年薪 desc;
select *, salary*12*(1+IFNULL(commission_pct,0)) 年薪
from employees order by salary*12*(1+IFNULL(commission_pct,0)) desc;
select *, salary*12*(1+IFNULL(commission_pct,0)) 年薪
from employees order by 年薪 desc;
#两个执行结果一样
7、常见函数
分类:
(1)单行函数,如:concat length ifnull 等
字符函数
length //字节个数
select length('john'); //4
select length('张三丰hahaha'); //15
upper lower
select concat(UPPER(last_name),'_',LOWER(first_name)) 姓名 from employees;
substr、substring