max()求最大值
min()求最小值
avg()求平均值
sum() 求和
count() 求总个数
group_concat() 连接分组结果
#强调:聚合函数聚合的是组的内容,若是没有分组,则默认一组
# 每个部门有多少个员工
select post,count(id) from employee group by post;
# 每个部门的最高薪水
select post,max(salary) from employee group by post;
# 每个部门的最低薪水
select post,min(salary) from employee group by post;
# 每个部门的平均薪水
select post,avg(salary) from employee group by post;
# 每个部门的所有薪水
select post,sum(age) from employee group by post;
#语法
SELECT 字段列表
FROM 表1 INNER|LEFT|RIGHT JOIN 表2
ON 表1.字段 = 表2.字段;
#分为左表和右表
#左表为多,右表为1;
#左为1表,右为2表
主要是笛卡尔积原理
1、内连接,只连接匹配的行,
select id from t1 inner t2 on t1.id=t2.id;
2、外连接之左连接,优先显示左表的全部信息,不管右表是否为空都会显示
select id from t1 left t2 on t1.id=t2.id;
3、外连接值右连接,优先显示右表的全部信息,不管左表对应的信息是否为空都会显示
select id from t1 right t2 on t1.id=t2.id;
4、全外连接,显示左边两个表全部记录 :直接记 union all
select * from t1 left join t2 on t1.id=t2.id union all select * from t1 right join t2 on t1.id=t2.id;
#1:子查询是将一个查询语句嵌套在另一个查询语句中,即:将一条sql语句查询的结果作为下一条查询语句的条件
#2:内层查询语句的查询结果,可以为外层查询语句提供查询条件。
#3:子查询中可以包含:IN、NOT IN、ANY、ALL、EXISTS 和 NOT EXISTS等关键字
#4:还可以包含比较运算符:= 、 !=、> 、<等
原文:https://www.cnblogs.com/whileke/p/11718704.html