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

 

目录
打赏
0
0
0
0
2
分享
相关文章
【SQL技术】不同数据库引擎 SQL 优化方案剖析
不同数据库系统(MySQL、PostgreSQL、Doris、Hive)的SQL优化策略。存储引擎特点、SQL执行流程及常见操作(如条件查询、排序、聚合函数)的优化方法。针对各数据库,索引使用、分区裁剪、谓词下推等技术,并提供了具体的SQL示例。通用的SQL调优技巧,如避免使用`COUNT(DISTINCT)`、减少小文件问题、慎重使用`SELECT *`等。通过合理选择和应用这些优化策略,可以显著提升数据库查询性能和系统稳定性。
77 9
【潜意识Java】MyBatis中的动态SQL灵活、高效的数据库查询以及深度总结
本文详细介绍了MyBatis中的动态SQL功能,涵盖其背景、应用场景及实现方式。
108 6
【MySQL基础篇】全面学习总结SQL语法、DataGrip安装教程
本文详细介绍了MySQL中的SQL语法,包括数据定义(DDL)、数据操作(DML)、数据查询(DQL)和数据控制(DCL)四个主要部分。内容涵盖了创建、修改和删除数据库、表以及表字段的操作,以及通过图形化工具DataGrip进行数据库管理和查询。此外,还讲解了数据的增、删、改、查操作,以及查询语句的条件、聚合函数、分组、排序和分页等知识点。
【MySQL基础篇】全面学习总结SQL语法、DataGrip安装教程
|
2月前
|
学习 MongoDB:打开强大的数据库技术大门
MongoDB 是一个基于分布式文件存储的文档数据库,由 C++ 编写,旨在为 Web 应用提供可扩展的高性能数据存储解决方案。它与 MySQL 类似,但使用文档结构而非表结构。核心概念包括:数据库(Database)、集合(Collection)、文档(Document)和字段(Field)。MongoDB 使用 BSON 格式存储数据,支持多种数据类型,如字符串、整数、数组等,并通过二进制编码实现高效存储和传输。BSON 文档结构类似 JSON,但更紧凑,适合网络传输。
86 15
使用访问指导(SQL Access Advisor)优化数据库业务负载
本文介绍了Oracle的SQL访问指导(SQL Access Advisor)的应用场景及其使用方法。访问指导通过分析给定的工作负载,提供索引、物化视图和分区等方面的优化建议,帮助DBA提升数据库性能。具体步骤包括创建访问指导任务、创建工作负载、连接工作负载至访问指导、设置任务参数、运行访问指导、查看和应用优化建议。访问指导不仅针对单条SQL语句,还能综合考虑多条SQL语句的优化效果,为DBA提供全面的决策支持。
100 11
大厂面试高频:4 大性能优化策略(数据库、SQL、JVM等)
本文详细解析了数据库、缓存、异步处理和Web性能优化四大策略,系统性能优化必知必备,大厂面试高频。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:4 大性能优化策略(数据库、SQL、JVM等)
体验使用DAS实现数据库SQL优化,完成任务可得羊羔绒加厚坐垫!
本实验介绍如何通过数据库自治服务DAS对RDS MySQL高可用实例进行SQL优化,包含购买RDS实例并创建数据库、数据导入、生成并优化慢SQL、执行优化后的SQL语句等实验步骤。完成任务,即可领取羊羔绒加厚坐垫,限量500个,先到先得。
275 19
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。
SQL Servers审核提高数据库安全性
SQL Server审核是一种追踪和审查SQL Server上所有活动的机制,旨在检测潜在威胁和漏洞,监控服务器设置的更改。审核日志记录安全问题和数据泄露的详细信息,帮助管理员追踪数据库中的特定活动,确保数据安全和合规性。SQL Server审核分为服务器级和数据库级,涵盖登录、配置变更和数据操作等事件。审核工具如EventLog Analyzer提供实时监控和即时告警,帮助快速响应安全事件。
gbase 8a 数据库 SQL合并类优化——不同数据统计周期合并为一条SQL语句
gbase 8a 数据库 SQL合并类优化——不同数据统计周期合并为一条SQL语句

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等