sql join连接 及 聚合函数

两盒软妹~` 提交于 2020-02-03 18:03:28

1 sql语句基础

sql(结构化查询语言)分为两个部分:DML,DDL

  • DML 数据操作语言(查询和更新指令)
指令 含义
select 获取数据
update 更新数据
delete 删除数据
insert 插入数据
  • DDL 数据定义语言(create / alter / drop)
    创建/修改/删除 database/table
    创建/删除 index

2 聚合函数

聚合函数 count 配合 group by / having
mysql聚合函数如:count(), max(), min(), sum()等

group by 将数据库的数据用’by’后面接的规则进行分组
having是分组(group by)后的筛选条件;
where则是在分组前筛选

select 
	activity_name, count(*) as count
from 
	draw_relation_record
GROUP BY
	activity_name
HAVING
	count(activity_name) > 4
  • select 与 group by配合使用时
    在有group by操作中,select后面接的结果集字段只有两种:要么就只有group by后出现的字段,要么就是group by后出现的字段+聚合函数的组合
  • 常用的五种聚合函数:min()求列中最小数值,max()求列中最大数值,avg()求平均值,sum()求列中字段对应数值的总和,count()求列的总条数

3 join连接

sql中的连接查询有三种方式:内连接,外连接,交叉连接

连接方式 场景
inner join 有效连接,两张表中都有的数据
left join 有左显示
right join 有右显示
full join 全连接,两张表的所有数据
cross join 两个表进行N*M的组合, 笛卡尔积

如:

select Person.FirstName, Person.LastName, Address.City, Address.state
From Person
Left join Address
on Person.PersonId=Address.PersonId
  • on 和 where的区别
    如果查询条件查询后才join连接,应该把查询条件放在ON后面;
    如果要连接完毕后才筛选,应该把条件放在where后面
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!