链接查询和分组查询

点点圈 提交于 2019-12-19 07:36:04

分组查询

select 查询信息 from 表名
where 条件
group by 按照列分组(可多个 ,隔开)
order by 排序方式
(查询信息如果列名和聚合函数同时出现,要么在聚合函数中出现,要么就使用分组进行查询)

having 条件    分组筛选(一般和group by连用,位置在其后)

where:用来筛选from子句指定的操作所产生的行
group by:用来分组where子句输出
having:用来从分组的结果中筛选行

1.分组查询是针对表中不同的组分类统计和输出的
2.having子句能够在分组的基础上,再次进行筛选
3.在SQL语句中使用次序,where-->group by-->having

表连接
select 列 from 表1,表2
where 条件(表1.主键列=表2.外键列)

内连接(inner join)
select 列 from 表1 inner join 表2
on 条件(表1.主键列=表2.外键列)

as也可以为表赋别名

外连接(两外连接主表位置相反)
     左外连接(left join)
select 列
from 主表
left outer join 从表
on (表1.主键列=表2.外键列)

     右外连接(right join)
select 列
from 从表
right outer join 主表
on (表1.主键列=表2.外键列)

主表(左表/右表)中的数据逐条匹配从表中的数据
1.匹配,返回到结果集
2.无匹配,null值返回到结果集

select 查询信息 from 表名
where 条件
group by 按照列分组(可多个 ,隔开)
order by 排序方式
(查询信息如果列名和聚合函数同时出现,要么在聚合函数中出现,要么就使用分组进行查询)

having 条件    分组筛选(一般和group by连用,位置在其后)

where:用来筛选from子句指定的操作所产生的行
group by:用来分组where子句输出
having:用来从分组的结果中筛选行

1.分组查询是针对表中不同的组分类统计和输出的
2.having子句能够在分组的基础上,再次进行筛选
3.在SQL语句中使用次序,where-->group by-->having

表连接
select 列 from 表1,表2
where 条件(表1.主键列=表2.外键列)

内连接(inner join)
select 列 from 表1 inner join 表2
on 条件(表1.主键列=表2.外键列)

as也可以为表赋别名

外连接(两外连接主表位置相反)
     左外连接(left join)
select 列
from 主表
left outer join 从表
on (表1.主键列=表2.外键列)

     右外连接(right join)
select 列
from 从表
right outer join 主表
on (表1.主键列=表2.外键列)

主表(左表/右表)中的数据逐条匹配从表中的数据
1.匹配,返回到结果集
2.无匹配,null值返回到结果集

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!