数据处理--sql

简介: 数据处理--sql

Select&from


知识点:

标准语法

select 字段名 (决定这一段查询最后显示的字段)

from  表名 (指定这段查询语句涉及的数据来源)

从word单表在select后指定查询的字段名称,多个字段名称之间用英文逗号(,)隔开

在select核心语句中,在字段后面加as别名,可以给字段名在最后显示前予别名,as可以省略,写成 字段名 别名。注意字段名和别名之间有空格,别名和下一字段名之间为逗号

select和(*)通配符联用返回查询的表中所有的列

在select核心语句中加distinct关键字,可以对最后显示的数据去重。在select distinct后加多个字段时,可以对重复的行数据去重


Where


标准语法:

select 字段名

from  表名

where 表达式 (限定查询行必须满足的条件)

where核心句子是可选项,使用该子句是为了通过表达式筛选出符合查询条件的数据


运算符

and 和 or 可以把两个或多个条件结合起来。若and连接的两个条件对于该数据都成立,就显示该数据,若or连接的两个条件对于该数据只要有一个成立,就显示该数据,否则就筛除该数据。

找寻字符段值等于某个值时使用等于号(=),如果值是文本,则文本需要’’包裹

in会筛选出字符值中所有与括号内数据相等的行


模糊查询like


语法:

select 字段名

from  表名

where 字段名like’通配符+字符’

跟在like后面进行数据过滤常用的通配符有%和_,%可以匹配多个字符,_只能匹配一个字符。


order by


语法

select 字段名

from  表名

where 表达式

order by 字段名asc|desc  (规定查询出的结果集显示的顺序,asc为升序,desc为降序,不写默认为升序)


Limit


语法

select 字段名

from  表名

where 表达式

order by 字段名asc|desc

[limit[位置偏移量,]行数]  (限制查询结果集显示的行数)

limit n返回查询结果的前n行

Limit x,n意味着从x+1行开始返回n行

聚合函数&group by


语法:

select 字段名

from  表名

where 表达式

group by字段名1,字段2

order by 字段名asc|desc

[limit[位置偏移量,]行数]

group by子句中有多字段时,依据写的字段的顺序进行分区。使用group by子句时,select只能使用聚合函数和group by引用过的字段,否则会报错


Having


语法:

select 字段名

from  表名

where 表达式

group by字段名1,字段2

having表达式

order by 字段名asc|desc

[limit[位置偏移量,]行数]

只有使用了group by子句后才会使用having子句,having子句是对group by分组的筛选

having子句中只能使用聚合函数和group by作为分组依据的字段

having和where的表达式基本相同,但having可以使用聚合函数,但where不行。


部分常见函数


Round(x,y)--四舍五入函数。对x四舍五入,保留到小数点后y位

Concat(s1,s2,,,)--连接字符串函数,任一参数为null时返回null

Replace(s,s1,s2)--替换函数,字符串s2替换s`中s1

Left(s,n),right(s,n),substring(s,n,len)--截取字符串一部分函数

left返回字符串s最左边n个字符串

Right返回字符串右边n个字符串

Substring函数返回字符串s从第n个字符串起取长度为len的子字符串,也可以为负数, 不写的话取从n个字符开始到最后一位

Cast(x as type)--类型转换函数,将x转换为一个类型的值


窗口函数:


标准语法:

窗口函数 over (partition by 用于分组的字段名 order by 用于排序的字段名)

讲解:

Over()中有两个子句为可选项,partition by指定分区依据,order by指定排序依据


常见窗口函数


知识点讲解:

窗口函数只能写在select 字句中。窗口函数中的partiton by可以指定数据的分区,和group by要去重分组不同,partition by只分区,不去重,当没有partition by时,整个表为一个分区。排序窗口函数中order by 是必选项,order by子句在分区内,依据指定的字段和排序方法对数据排序。

偏移分析函数语法

Lag(字段名,向上偏移量[,默认值])over (partition 字段名 order by 字段名 asc|desc)

lead(字段名,向下偏移量[,默认值])over (partition 字段名 order by 字段名 asc|desc)


表连接


语法

内连接

Select字段名

om 表格名1 inner join 表格名2 on 表格名1.字段名 = 表格名2.字段名

注意内连接inner可以省略,直接使用join默认为内连接

连接两个表留下同时相互匹配上的行)

左连接

Select字段名

om 表格名1 left join 表格名2 on 表格名1.字段名 = 表格名2.字段名

左边的表返回所有行,右边的表只留下匹配上的行得到新表

右连接

Select字段名

om 表格名1 right join 表格名2 on 表格名1.字段名 = 表格名2.字段名

右边的表返回所有行,左边的表只留下匹配上的行得到新表


子查询


知识点:

子查询本身就是一个完整的查询语句,然后用括号()包裹嵌套在主查询语句中,子查询可以多层嵌套

之前所涉及到的都是从数据库中检索数据的单条语句,但当我们想要检索的数据并不能直接从数据库表中获取,而是需要从筛选后的表格中再度去查询时,就要用到子查询

子查询的执行优先于主查询执行,因为主查询的条件用到了子查询的结果

子查询本身是一个完整的查询,由括号包裹嵌套在主查询中

子查询最后返回查询出的结果给主查询可以多重嵌套。

子查询可以在select,from,where,having子句中使用,但要注意不同子句能接受的子查询种类有差别

目录
相关文章
|
2月前
|
SQL 大数据 数据处理
奇迹降临!解锁 Flink SQL 简单高效的终极秘籍,开启数据处理的传奇之旅!
【9月更文挑战第7天】在大数据处理领域,Flink SQL 因其强大功能与简洁语法成为开发者首选。本文分享了编写高效 Flink SQL 的实用技巧:理解数据特征及业务需求;灵活运用窗口函数(如 TUMBLE 和 HOP);优化连接操作,优先采用等值连接;合理选择数据类型以减少计算资源消耗。结合实际案例(如实时电商数据分析),并通过定期性能测试与调优,助力开发者在大数据处理中更得心应手,挖掘更多价值信息。
46 1
|
3月前
|
SQL 物联网 数据处理
"颠覆传统,Hive SQL与Flink激情碰撞!解锁流批一体数据处理新纪元,让数据决策力瞬间爆表,你准备好了吗?"
【8月更文挑战第9天】数据时代,实时性和准确性至关重要。传统上,批处理与流处理各司其职,但Apache Flink打破了这一界限,尤其Flink与Hive SQL的结合,开创了流批一体的数据处理新时代。这不仅简化了数据处理流程,还极大提升了效率和灵活性。例如,通过Flink SQL,可以轻松实现流数据与批数据的融合分析,无需在两者间切换。这种融合不仅降低了技术门槛,还为企业提供了更强大的数据支持,无论是在金融、电商还是物联网领域,都将发挥巨大作用。
60 6
|
3月前
|
SQL 大数据 测试技术
奇迹降临!解锁 Flink SQL 简单高效的终极秘籍,开启数据处理的传奇之旅!
【8月更文挑战第9天】在大数据处理领域,Flink SQL 因其强大功能与简洁语法深受开发者青睐。本文分享了编写高效 Flink SQL 的实用技巧:首先需深刻理解数据特性与业务目标;其次,合理运用窗口函数(如 TUMBLE 和 HOP)可大幅提升效率;优化连接操作,优先采用等值连接并恰当选择连接表;正确选取数据类型以减少类型转换开销;最后,持续进行性能测试与调优。通过这些方法,我们能在实际项目中(如实时电商数据分析)更高效地处理数据,挖掘出更多价值。
86 6
|
3月前
|
Java 应用服务中间件 Maven
从零到英雄:一步步构建你的首个 JSF 应用程序,揭开 JavaServer Faces 的神秘面纱
【8月更文挑战第31天】JavaServer Faces (JSF) 是一种强大的 Java EE 标准,用于构建企业级 Web 应用。它提供了丰富的组件库和声明式页面描述语言 Facelets,便于开发者快速开发功能完善且易于维护的 Web 应用。本文将指导你从零开始构建一个简单的 JSF 应用,包括环境搭建、依赖配置、Managed Bean 编写及 Facelets 页面设计。
97 0
|
3月前
|
SQL 关系型数据库 MySQL
【超全整理】SQL日期与时间函数大汇总会:MySQL与SQL Server双轨对比教学,助你轻松搞定时间数据处理难题!
【8月更文挑战第31天】本文介绍了在不同SQL数据库系统(如MySQL、SQL Server、Oracle)中常用的日期与时间函数,包括DATE、NOW()、EXTRACT()、DATE_ADD()、TIMESTAMPDIFF()及日期格式化等,并提供了具体示例。通过对比这些函数在各系统中的使用方法,帮助开发者更高效地处理日期时间数据,满足多种应用场景需求。
414 0
|
3月前
|
SQL 数据处理 数据库
SQL正则表达式应用:文本数据处理的强大工具——深入探讨数据验证、模式搜索、字符替换等核心功能及性能优化和兼容性问题
【8月更文挑战第31天】SQL正则表达式是数据库管理和应用开发中处理文本数据的强大工具,支持数据验证、模式搜索和字符替换等功能。本文通过问答形式介绍了其基本概念、使用方法及注意事项,帮助读者掌握这一重要技能,提升文本数据处理效率。尽管功能强大,但在不同数据库系统中可能存在兼容性问题,需谨慎使用以优化性能。
61 0
|
3月前
|
SQL 存储 大数据
SQL 语言发展史简直太震撼啦!从诞生到现代数据处理,见证一场奇妙的演变之旅,快来感受!
【8月更文挑战第31天】SQL(结构化查询语言)自20世纪70年代由IBM研究员E.F. Codd提出以来,已成为现代数据处理不可或缺的一部分。它最初简化了层次和网状模型中复杂的存储与检索问题,通过基本的SELECT、FROM和WHERE关键字实现了数据查询。80年代,SQL在商业数据库中广泛应用,引入了GROUP BY、HAVING和ORDER BY等功能,增强了数据分析能力。90年代,互联网和企业信息化推动了SQL的进一步优化与扩展,支持分布式数据库和数据仓库等技术。
55 0
|
3月前
|
SQL JSON 关系型数据库
"SQL老司机大揭秘:如何在数据库中玩转数组、映射与JSON,解锁数据处理的无限可能,一场数据与技术的激情碰撞!"
【8月更文挑战第21天】SQL作为数据库语言,其能力不断进化,尤其是在处理复杂数据类型如数组、映射及JSON方面。例如,PostgreSQL自8.2版起支持数组类型,并提供`unnest()`和`array_agg()`等函数用于数组的操作。对于映射类型,虽然SQL标准未直接支持,但通过JSON数据类型间接实现了键值对的存储与查询。如在PostgreSQL中创建含JSONB类型的表,并使用`->>`提取特定字段或`@>`进行复杂条件筛选。掌握这些技巧对于高效管理现代数据至关重要,并预示着SQL在未来数据处理领域将持续扮演核心角色。
59 0
|
3月前
|
SQL 数据采集 存储
"揭秘SQL Server中REPLACE函数的神奇力量!一键替换字符串,解锁数据处理的无限可能,你还在等什么?"
【8月更文挑战第20天】SQL Server 的 REPLACE 函数是处理字符串的强大工具,用于在查询中替换字符串的部分内容。基本语法为 `REPLACE(string_expression, string_pattern, string_replacement)`。例如,可将员工邮箱从 `@example.com` 替换为 `@newdomain.com`。支持多级嵌套替换与变量结合使用,适用于动态生成查询。注意大小写敏感性及全局替换特性。掌握 REPLACE 函数能有效提升数据处理能力。
170 0
下一篇
无影云桌面