SQL数据库学习之路(六)

简介: 一、连接查询:当需要的结果需要从多张表中取时关键问题:哪些表、关系(学生表的Id联系到班级表的Id)内连接:inner join,两表中完全匹配的数据。

一、连接查询:当需要的结果需要从多张表中取时

关键问题:哪些表、关系(学生表的Id联系到班级表的Id)

内连接:inner join,两表中完全匹配的数据。

左外连接:left out join,两表中完全匹配的数据,左表中特有的数据,右表补全。

右外连接:right out join,两表中完全匹配的数据,右表中特有的数据,左表补全。

完全外连接:full out join ,两表中完全匹配的数据,左表中特有的数据,右表中特有的数据。

select *from gg inner join TextInfo on gg.Id=TextInfo.Id   --将gg表中的Id列和ClassId表中的ClassId列对应

   二、聚合函数:对行数据进行合并

sum(综合)、avg(平均值)、count、max(最大值)、min(最小值)

一般是对数字类型的列进行操作

一条查询中可以同时写多个聚合函数,但不能与普通列混写。

聚合函数中的full问题:不参与运算。

select count(*) from TextInfo     --查询TextInfo中有多少行

select count(*) from TextInfo where Id=3    --查询TextInfo中Id为3的有多少行

select max(Id) from gg   --查询gg表中Id最大的行的Id

三、开窗函数:over()

将统计出来的数据分布到原表的每一行中。

结合聚合函数、排名函数使用。

select gg.*,avg(Id) over() from gg  --在gg表中新增一列平均值,加上over()

四、分组:group by 列名1,列名2.....

聚合函数一般结合分组使用,对分组内的数据进行统计。

根据指定列进行分组。

分组后条件筛选:having...
select sex,count(*) from TextInfo group by sex  --将数据按照sex(性别)来分组,再统计每组人数

 

 

 

select sex,pwd,count(*) from TextInfo group by sex,pwd  --将数据按照sex(性别)来分组,在进行pwd分组,最后统计每组人数

--统计Id大于3的姓名为玄武的人数
select count(*) from gg where [Name]='玄武' and Id>3 group by [Name] 

 

总结:完整select语句执行过程及执行顺序

select distinct top n *

from t1 join t2 on ...join t3 on ...

where ...

group by ...having....

order by...

 

目录
相关文章
|
3天前
|
SQL 存储 关系型数据库
sql数据库的相关概念与底层介绍
sql数据库的相关概念与底层介绍
26 0
|
14天前
|
监控 关系型数据库 MySQL
MySQL技能完整学习列表12、性能优化——1、性能指标和监控——2、优化查询和数据库结构——3、硬件和配置优化
MySQL技能完整学习列表12、性能优化——1、性能指标和监控——2、优化查询和数据库结构——3、硬件和配置优化
55 0
|
14天前
|
SQL 缓存 关系型数据库
MySQL技能完整学习列表6、查询优化——3、查询缓存——4、SQL优化技巧
MySQL技能完整学习列表6、查询优化——3、查询缓存——4、SQL优化技巧
25 0
|
14天前
|
存储 关系型数据库 MySQL
MySQL技能完整学习列表5、数据库操作——3、索引(Indexing)——4、约束(Constraints)
MySQL技能完整学习列表5、数据库操作——3、索引(Indexing)——4、约束(Constraints)
26 0
|
14天前
|
存储 关系型数据库 MySQL
MySQL技能完整学习列表5、数据库操作——1、创建数据库和表——2、修改表结构(ALTER TABLE)
MySQL技能完整学习列表5、数据库操作——1、创建数据库和表——2、修改表结构(ALTER TABLE)
36 0
|
14天前
|
存储 关系型数据库 MySQL
MySQL技能完整学习列表4、数据库设计——2、数据库规范化(Normalization)——3、实体-关系模型(ER Modeling)
MySQL技能完整学习列表4、数据库设计——2、数据库规范化(Normalization)——3、实体-关系模型(ER Modeling)
17 0
|
14天前
|
存储 关系型数据库 MySQL
MySQL技能完整学习列表4、数据库设计——1、数据类型
MySQL技能完整学习列表4、数据库设计——1、数据类型
9 0
|
14天前
|
SQL 安全 关系型数据库
MySQL技能完整学习列表3、SQL语言基础——3、SQL运算符和函数
MySQL技能完整学习列表3、SQL语言基础——3、SQL运算符和函数
22 0
|
14天前
|
SQL 关系型数据库 MySQL
MySQL技能完整学习列表3、SQL语言基础——1、SQL(Structured Query Language)简介——2、基本SQL语句:SELECT、INSERT、UPDATE、DELETE
MySQL技能完整学习列表3、SQL语言基础——1、SQL(Structured Query Language)简介——2、基本SQL语句:SELECT、INSERT、UPDATE、DELETE
31 0
|
14天前
|
关系型数据库 MySQL 数据库
MySQL技能完整学习列表——1、数据库基础概念——2、数据库管理系统(DBMS)——3、数据模型(Data Model)
MySQL技能完整学习列表——1、数据库基础概念——2、数据库管理系统(DBMS)——3、数据模型(Data Model)
14 0