讲师中心 微信公众号

工具推荐

视频效率加速
剧云
剧云

中文短剧剧本制作平台

立刻MV
立刻MV

低成本歌曲 MV、视频生成

Laper
Laper

剧本策划到成片协作

Seko
Seko

AI短剧一键生成成片

SQL标准2023对SELECT查询有哪些新变化

星墨小哥_1632

星墨小哥_1632

发布时间:2026-08-17 13:30:00

|

334人浏览过

|

来源于php中文网

原创

SQL:2023未改变SELECT基础语法与执行逻辑,仅扩展其可操作的数据形态,新增GRAPH TABLE、MATCH_RECOGNIZE及JSON_TABLE等表源类型与函数支持,但SELECT本身保持不变。

sql标准2023对select查询有哪些新变化

SQL:2023 没有改动 SELECT 的基础语法、执行顺序或语义,它不新增 SELECT 关键字本身的功能,也不改变 WHERE、GROUP BY、ORDER BY 等子句的行为。

SQL:2023 新增的是查询能力的“外延”,不是 SELECT 本身的重构

很多人看到“SQL:2023”就默认 SELECT 会变,其实标准演进逻辑很务实:核心 DML(包括 SELECT)在 SQL:1999 后已高度稳定。SQL:2023 的突破点是让 SELECT 能“接入新数据形态”,而不是重写老规则。

  • 它新增了 GRAPH TABLE 和 MATCH_RECOGNIZE 的正式支持(后者其实在 SQL:2016 就引入,2023 是强化规范),但这些是独立于 SELECT 的子句或表构造器,SELECT 仍照常引用它们,就像引用普通表一样
  • SELECT 查询属性图(PGQ)时,实际靠的是新语法 SELECT ... FROM GRAPH TABLE ( ... ),SELECT 本身没加新关键字,只是多了个可被 FROM 引用的新表源类型
  • JSON 相关函数(如 JSON_TABLE)升级为“核心特性”,意味着 SELECT * FROM JSON_TABLE(...) 在所有合规引擎中必须可用——但 SELECT 的解析逻辑和执行流程完全不变

真正影响你写 SELECT 的,是底层数据类型和函数支持度

如果你在用 PostgreSQL 17、MySQL 8.4 或 SQL Server 2022+,SELECT 语句能写的表达式范围确实扩大了,但这来自引擎实现,不是标准强制。比如:

  • SELECT 中可直接用 JSON_ARRAY()、JSON_OBJECT() 构造值,前提是数据库实现了 SQL:2023 的 JSON 核心支持;旧版本可能只支持 JSON_EXTRACT 这类有限函数
  • SELECT 引用多维数组列(如 INT[3][4])时,下标语法 col[1][2] 是否合法,取决于引擎是否按 SQL:2023 实现了数组类型——而 Oracle 目前仍不支持该语法
  • SELECT 配合 MATCH_RECOGNIZE 时,模式匹配结果被当作虚拟表暴露给 SELECT,但 SELECT 自身不做模式识别,它只负责投影匹配后的行

容易被忽略的兼容性坑:别把“标准支持”当“开箱即用”

SQL:2023 是纸面标准,落地依赖厂商节奏。目前(2026年7月)真实情况是:

  • PostgreSQL 17 声称“部分支持 SQL:2023”,但 GRAPH TABLE 仅限扩展插件(如 age),原生 SELECT FROM GRAPH 不可用
  • MySQL 8.4 实现了 JSON_TABLE 全功能,但 MATCH_RECOGNIZE 仍未提供——这意味着你不能用 SELECT ... MATCH_RECOGNIZE 做序列分析,哪怕标准写了
  • SQL Server 2022 对 SQL:2023 的响应集中在 JSON 函数增强(如 JSON_VALUE 支持路径通配符),但对属性图查询(PGQ)零支持;想用图查询,还得走 Cypher 或图扩展
  • 最隐蔽的坑:SELECT 中调用标准函数时,参数类型检查更严了。例如 SQL:2023 要求 LISTAGG 必须接受 ON OVERFLOW ERROR 子句,旧版引擎若忽略该子句,可能静默截断而非报错

真正要改的不是你写 SELECT 的习惯,而是查文档时得确认:你用的那条 SELECT 语句里出现的函数、类型、表构造器,是否被当前数据库版本明确声明支持 SQL:2023 对应条款。

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

超级麦吉

一款通过数字员工协作完成调研、数据分析与文档制作的AI办公平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

SoundView
SoundView Hot

SoundView是一款面向跨境电商的视频翻译、配音和本地化 AI 创作平台。

Flowith
Flowith Hot

Flowith是一款基于画布和智能体工作流的 AI 协作工作空间。

相关专题

更多
数据分析工具有哪些
数据分析工具有哪些

数据分析工具有Excel、SQL、Python、R、Tableau、Power BI、SAS、SPSS和MATLAB等。详细介绍:1、Excel,具有强大的计算和数据处理功能;2、SQL,可以进行数据查询、过滤、排序、聚合等操作;3、Python,拥有丰富的数据分析库;4、R,拥有丰富的统计分析库和图形库;5、Tableau,提供了直观易用的用户界面等等。

5023

2023.10.12

SQL中distinct的用法
SQL中distinct的用法

SQL中distinct的语法是“SELECT DISTINCT column1, column2,...,FROM table_name;”。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1031

2023.10.27

SQL中months_between使用方法
SQL中months_between使用方法

在SQL中,MONTHS_BETWEEN 是一个常见的函数,用于计算两个日期之间的月份差。想了解更多SQL的相关内容,可以阅读本专题下面的文章。

1309

2024.02.23

SQL出现5120错误解决方法
SQL出现5120错误解决方法

SQL Server错误5120是由于没有足够的权限来访问或操作指定的数据库或文件引起的。想了解更多sql错误的相关内容,可以阅读本专题下面的文章。

7081

2024.03.06

sql procedure语法错误解决方法
sql procedure语法错误解决方法

sql procedure语法错误解决办法:1、仔细检查错误消息;2、检查语法规则;3、检查括号和引号;4、检查变量和参数;5、检查关键字和函数;6、逐步调试;7、参考文档和示例。想了解更多语法错误的相关内容,可以阅读本专题下面的文章。

3723

2024.03.06

oracle数据库运行sql方法
oracle数据库运行sql方法

运行sql步骤包括:打开sql plus工具并连接到数据库。在提示符下输入sql语句。按enter键运行该语句。查看结果,错误消息或退出sql plus。想了解更多oracle数据库的相关内容,可以阅读本专题下面的文章。

7080

2024.04.07

sql中where的含义
sql中where的含义

sql中where子句用于从表中过滤数据,它基于指定条件选择特定的行。想了解更多where的相关内容,可以阅读本专题下面的文章。

9901

2024.04.29

sql中删除表的语句是什么
sql中删除表的语句是什么

sql中用于删除表的语句是drop table。语法为drop table table_name;该语句将永久删除指定表的表和数据。想了解更多sql的相关内容,可以阅读本专题下面的文章。

1350

2024.04.29

Go-Zero API开发使用教程
Go-Zero API开发使用教程

本专题聚焦Go-Zero的API开发,拆解.api描述文件的语法结构、路由与分组定义、参数绑定与校验规则,说明统一响应体、JWT鉴权、跨域与接口文档生成的落地方式,并给出网关聚合与接口测试的实践建议。

100

2026.11.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn