MySQL笔记1
知识点
select查询
select 要查询的列 from 表名
1.去重DISTINCT
distinct
案例1:查询员工表中涉及到的所有的部门编号
select distinct department_id from employees;
2.条件查询where
语法:
select 查询列表
from 表名
where 筛选条件
案例2:查询员工名中第二个字符为_的员工名
select last_name from employees where last_name like '_$-%' escape '$';
三个函数
concat():拼接字符
select concat(字符1,字符2,字符3);
ifnull():判断某字符或表达式是否为null,如果为null,返回指定的值,否则返回原本的值
select ifnull(commission_pct,0) from employees;
isnull():判断某字段或表达式是否为null,如果是,返回1,否则返回0
3.排序查询order by
语法及执行次序
select 查询列表(3)
from 表(1)
【where 筛选条件】(2)
order by 排序列表【asc|desc】(4)
特点
1.asc代表的是升序,desc代表的是降序
如果不写,默认是升序
2.order by子句中可以支持单个字段,多个字段,表达式,函数,别名
3.order by子句一般是放在查询与的最后面,limit子句除外
案例
1.查询员工信息,要求工资从高到低排序
SELECT * FROM employees ORDER BY salary DESC;
2.查询邮箱中包含e的员工信息,并先按邮箱的字节数降序,再按部门号升序
select * from employees where email like "%e%" order by length(email) desc, department_id asc;