SQL:结构化查询语言

这篇具有很好参考价值的文章主要介绍了SQL:结构化查询语言。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。



1、数据准备


创建一张表并插入数据:

SQL:结构化查询语言,# 数据库,sql,数据库

以下常用函数以MySQL为例,其它数据库类似

2、聚合函数

-- 统计列非空值数量:count(col)
select count(*) from stu;      -- 3
-- 求和:sum(col)
select sum(score) from stu;    -- 271.5
-- 求平均值:avg(col)
select avg(score) from stu;    -- 90.5
-- 求最大值:max(col)
select max(age) from stu;      -- 18
-- 求最小值:min(col)
select min(score) from stu;    -- 88.5

3、字符串函数

-- 截取:substr(str,sta,len)、substring(str,sta,len)
select substr('abcde', 1, 3);       -- abc
select substring('abcde', 1, 3);    -- abc
-- 连接:concat(s1,s2,...)
select concat('ab', 'cd');          -- abcd
-- 转大写:upper(str)
select upper('abc');                -- ABC
-- 转小写:lower(str)
select lower('BBC');                -- bbc
-- 字符串长度:length(str)
select length('abc');               -- 3
-- 去掉字符串两端空格:trim(str)
select trim('  ab c ');             -- ab c
-- 替换:replace(str,sub,dst)
select replace('abcd', 'bc', 'x');     -- axd
-- 指定符号分隔连接:concat_ws(sep,s1,s2,...)
select concat_ws('&', 'abc', 'ef');    -- abc&ef

4、数学相关

-- 四舍五入:round(num,n)
select round(3.1415, 3);      -- 3.142
-- 取绝对值:abs(num)
select abs(-1);               -- 1
-- 将数值截断到指定小数位数:truncate(num,n)
select truncate(2.718, 2);    -- 2.71
-- 类型转换:cast(expr as type)
select cast('10' as int);     -- 10

5、日期函数

-- 获取当前时间:now()
select now();    -- 2023-11-13 21:47:43
-- 日期格式化:
select date_format('2023-11-12 18:51:45', '%Y%m%d');     -- 20231112
-- 日期加减:date_add(date,interval value unit)、date_sub(date,interval value unit)
select date_add('2023-11-01', interval -1 month);        -- 2023-10-01
-- 日期差(d1-d2天数):datediff(d1,d2)
select datediff('2023-10-15', '2023-11-10');    -- -26
-- 获取年、月、日、小时、分钟、秒:year()、month()、day()、...
select hour('2023-11-12 13:14:15');             -- 13
-- 字符串格式化为日期:str_to_date(str,format)
select str_to_date('2023-11-12 13:14:15', '%Y-%m-%d');   -- 2023-11-12

6、条件函数

-- 返回第一个非空值:coalesce(v1,v2,...)
select coalesce(null, false, '');    -- 0
-- 如果expr不为空则返回expr结果,否则返回默认值:ifnull(expr,default)
select ifnull(null, 'default');    -- default
-- 判断两个参数间的差异,如果两个入参值相同,则返回NULL,否则返回第一个入参值:nullif(expr1,expr2)
select nullif(1, null);            -- 1
-- 多条件:case when expr1 then res1 when expr2 then res2 ... else resN end
select case when score>90 then 'A' when score<=90 and score>80 then 'B' else 'C' end from stu;

SQL:结构化查询语言,# 数据库,sql,数据库文章来源地址https://www.toymoban.com/news/detail-735266.html

到了这里,关于SQL:结构化查询语言的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySql003——SQL(结构化查询语言)基础知识

    DB:数据库(Database) 即存储数据的“仓库”,其本质是一个 文件系统 。它保存了一系列有组织的数据。 DBMS:数据库管理系统(Database Management System) 是一种操纵和管理数据库的 大型软件 (例如我们前面下载的MySQL软件),用于建立、使用和维护数据库,对数据库进行统一

    2024年02月15日
    浏览(47)
  • Redis基于内存的key-value结构化NOSQL(非关系型)数据库

    Redis基于内存的key-value结构的NOSQL(非关系型)数据库 非关系型数据库:表与表之间没有复杂的关系 基于内存存储,读写性能高 – Redis读的速度是110000次/S 适合存储热点数据(商品、新闻资讯) 它存储的value类型比较丰富,也称为结构化NoSQL数据库 直接解压windows版压缩包就

    2024年02月11日
    浏览(63)
  • 结构化数据处理与分析:Spark SQL 教程

    作者:禅与计算机程序设计艺术 Apache Spark 是由 Apache 基金会开发的开源分布式计算框架,最初用于对大规模数据进行快速的处理,在大数据计算领域占据重要地位。其独特的高性能处理能力及丰富的数据处理功能使得 Spark 在各个行业应用广泛。Spark SQL 是 Spark 提供的用于结构

    2024年02月06日
    浏览(50)
  • 用ChatGPT解读非结构化数据【ChatGPT + SQL】

    许多现代数据系统都依赖于结构化数据,例如 Postgres DB 或 Snowflake 数据仓库。 LlamaIndex 提供了许多由 LLM 提供支持的高级功能,既可以从非结构化数据创建结构化数据,也可以通过增强的文本到 SQL 功能分析这些结构化数据。 本指南有助于逐步了解这些功能中的每一项。 具体

    2023年04月21日
    浏览(37)
  • 自然语言处理 Paddle NLP - 结构化数据问答-理论

    基础 自然语言处理(NLP) 自然语言处理PaddleNLP-词向量应用展示 自然语言处理(NLP)-前预训练时代的自监督学习 自然语言处理PaddleNLP-预训练语言模型及应用 自然语言处理PaddleNLP-文本语义相似度计算(ERNIE-Gram) 自然语言处理PaddleNLP-词法分析技术及其应用 自然语言处理Pa

    2024年02月11日
    浏览(62)
  • elasticsearch结构化查询

    在上一篇中我们介绍了DSL相关的知识,接下来我们将会学习elasticsearch的结构化查询,同时也实践一下上一篇的DSL的查询用法 从《Elasticsearch权威指南》上摘取部分解释如下: 从上面的定义我们可以看出来结构化查询最重要的就是是否匹配么人并不是很关心相关性和分值计算。

    2024年02月01日
    浏览(49)
  • elasticsearch结构化查询(一)

    在上一篇中我们介绍了DSL相关的知识,接下来我们将会学习elasticsearch的结构化查询,同时也实践一下上一篇的DSL的查询用法 从《Elasticsearch权威指南》上摘取部分解释如下: 从上面的定义我们可以看出来结构化查询最重要的就是是否匹配么人并不是很关心相关性和分值计算。

    2024年02月05日
    浏览(63)
  • ElasticSearch核心详解、文档、查询响应、分页、映射、结构化查询

    在Elasticsearch中,文档以JSON格式进行存储,可以是复杂的结构,如: 其中,card是一个复杂对象,嵌套的Card对象 元数据(metadata)        一个文档不只有数据。它还包含了元数据(metadata)——关于文档的信息。 三个必须的元数据节点是: index        索引(index)类似于关

    2024年02月12日
    浏览(34)
  • 结构化数据、非结构化数据、半结构化数据

    结构化的数据一般是指可以使用关系型数据库表示和存储,可以用二维表来逻辑表达实现的数据。例如:需要多少个属性,每个属性什么类型,每个属性的取值范围等等,类似下图所示, 提前定义好了一个二维矩阵的元数据 ,包含有列名称、列的类型、列的约束等:   可见

    2024年02月09日
    浏览(67)
  • ElasticSearch中结构化查询(term、terms、range、exists、match、bool)

            term 主要用于精确匹配哪些值,比如数字,日期,布尔值或 not_analyzed 的字符串(未经分析的文本数据类型): 当前数据库中的数据:         terms 跟 term 相似,但 terms 允许指定多个匹配条件。 如果某个字段指定了多个值,那么文档需要一起去做匹配:      

    2024年02月05日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包