标签:mem 一个 无法 distinct 最小 des if条件判断 -o 聚合
语法:
select distinct 字段1,字段2... from 表名 where 条件 group by 组名 having 筛选 order by 排序 limit 限制条数
优先级:from > where > group by> select > distinct> having>order by >limit
避免重复:distinct:
通过四则运算查询:
重命名:
concat():用于连接字符串
select concat(‘姓名 :‘,emp_name),concat(‘年薪:‘,salary*12) from employee;
CONCAT_WS() 第一个参数为分隔符,select concat_ws(‘|‘,‘a‘,‘b‘,‘c‘)用管道符分割数据
结合CASE语句:case when语句 == if条件判断句
SELECT
(
CASE
WHEN emp_name = 'jingliyang' THEN
emp_name
WHEN emp_name = 'alex' THEN
CONCAT(emp_name,'_BIGSB')
ELSE
concat(emp_name, 'SB')
END
) as new_name
FROM
employee;
where 约束:select xx,xxx from 表名 where xx=="值";
GROUP BY分组聚合
聚合函数:聚合函数聚合的是组的内容,若是没有分组,则默认一组
having过滤(group by + 聚合函数):
执行优先级从高到低:where > group by > having
Where 发生在分组group by之前,因而Where中可以有任意字段,但是绝对不能使用聚合函数。
Having发生在分组group by之后,因而Having中可以使用分组的字段,无法直接取到其他字段,可以使用聚合函数
例子:查询各岗位内包含的员工个数小于2的岗位名、岗位内包含员工名字、个数
select post,emp_name,count(id) from employee group by post having count(id)<2
order by排序
limit:限制查询记录数
标签:mem 一个 无法 distinct 最小 des if条件判断 -o 聚合
原文地址:https://www.cnblogs.com/heyulong1214/p/12069852.html