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后面
来源:CSDN
作者:钉洲小懒猫
链接:https://blog.csdn.net/zxiang_123/article/details/104147776