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...

 

目录
相关文章
|
16天前
|
SQL 数据库
数据库数据恢复—SQL Server数据库报错“错误823”的数据恢复案例
SQL Server附加数据库出现错误823,附加数据库失败。数据库没有备份,无法通过备份恢复数据库。 SQL Server数据库出现823错误的可能原因有:数据库物理页面损坏、数据库物理页面校验值损坏导致无法识别该页面、断电或者文件系统问题导致页面丢失。
82 12
数据库数据恢复—SQL Server数据库报错“错误823”的数据恢复案例
|
2天前
|
SQL 存储 移动开发
HTML5 Web SQL 数据库详解
Web SQL 数据库是 HTML5 中的一种本地存储技术,允许在浏览器中使用 SQL 语言操作本地数据,支持离线访问和事务处理,适用于缓存数据和小型应用。然而,其存储容量有限且仅部分现代浏览器支持,标准已不再积极维护,未来可能被 IndexedDB 和 localStorage 等技术取代。使用时需谨慎考虑兼容性和发展前景。
|
25天前
|
SQL 存储 数据管理
SQL Server数据库
SQL Server数据库
41 11
|
20天前
|
SQL 监控 关系型数据库
MySQL数据库中如何检查一条SQL语句是否被回滚
检查MySQL中的SQL语句是否被回滚需要综合使用日志分析、事务状态监控和事务控制语句。理解和应用这些工具和命令,可以有效地管理和验证数据库事务的执行情况,确保数据的一致性和系统的稳定性。此外,熟悉事务的ACID属性和正确设置事务隔离级别对于预防数据问题和解决事务冲突同样重要。
30 2
|
1月前
|
SQL 安全 数据库
基于SQL Server事务日志的数据库恢复技术及实战代码详解
基于事务日志的数据库恢复技术是SQL Server中一个非常强大的功能,它能够帮助数据库管理员在数据丢失或损坏的情况下,有效地恢复数据。通过定期备份数据库和事务日志,并在需要时按照正确的步骤恢复,可以最大限度地减少数据丢失的风险。需要注意的是,恢复数据是一个需要谨慎操作的过程,建议在执行恢复操作之前,详细了解相关的操作步骤和注意事项,以确保数据的安全和完整。
59 0
|
2月前
|
前端开发 C# 设计模式
“深度剖析WPF开发中的设计模式应用:以MVVM为核心,手把手教你重构代码结构,实现软件工程的最佳实践与高效协作”
【8月更文挑战第31天】设计模式是在软件工程中解决常见问题的成熟方案。在WPF开发中,合理应用如MVC、MVVM及工厂模式等能显著提升代码质量和可维护性。本文通过具体案例,详细解析了这些模式的实际应用,特别是MVVM模式如何通过分离UI逻辑与业务逻辑,实现视图与模型的松耦合,从而优化代码结构并提高开发效率。通过示例代码展示了从模型定义、视图模型管理到视图展示的全过程,帮助读者更好地理解并应用这些模式。
58 0
|
2月前
|
SQL 数据处理 数据库
|
2月前
|
SQL 存储 调度
|
2月前
|
SQL 安全 数据库
|
2月前
|
Java 数据库连接 数据库
告别繁琐 SQL!Hibernate 入门指南带你轻松玩转 ORM,解锁高效数据库操作新姿势
【8月更文挑战第31天】Hibernate 是一款流行的 Java 持久层框架,简化了对象关系映射(ORM)过程,使开发者能以面向对象的方式进行数据持久化操作而无需直接编写 SQL 语句。本文提供 Hibernate 入门指南,介绍核心概念及示例代码,涵盖依赖引入、配置文件设置、实体类定义、工具类构建及基本 CRUD 操作。通过学习,你将掌握使用 Hibernate 简化数据持久化的技巧,为实际项目应用打下基础。
66 0
下一篇
无影云桌面