Sql标准梳理

news2024/11/25 15:45:58

SQL(Structured Query Language)是一种用于管理关系型数据库管理系统(RDBMS)的标准化语言。SQL标准由国际标准化组织(ISO)和美国国家标准化组织(ANSI)制定和维护,旨在提供一种统一的方式来管理和操作数据库。

SQL标准通常分为不同的级别,包括:

  1. SQL核心标准:包含最基本和最常用的SQL功能,如数据查询、插入、更新和删除等操作。这些功能是所有SQL数据库管理系统共同支持的基本功能。

  2. SQL扩展标准:在核心标准的基础上增加了一些额外的功能和特性,如存储过程、触发器、视图、事务控制等。这些功能可以根据不同的数据库管理系统进行扩展和实现。

SQL标准的主要优势包括:

  • 跨平台性:SQL标准使得在不同的数据库管理系统之间迁移数据和操作更加容易,因为大多数系统都支持基本的SQL功能。
  • 易学易用:SQL具有相对简单的语法结构,易于学习和使用。
  • 灵活性:SQL标准提供了丰富的操作和查询功能,可以进行各种复杂的数据操作。

不同的数据库管理系统(如MySQL、PostgreSQL、Oracle、SQL Server等)通常对SQL标准的支持程度有所不同,可能在某些功能或语法上有所差异。因此,在编写SQL查询时,需要考虑到目标数据库管理系统的特定功能和语法要求。

1.SQL标准都有哪些

SQL(Structured Query Language)作为一种标准化的数据库查询语言,有许多版本和不同的标准。以下是一些常见的SQL标准和版本:

  1. SQL-86(SQL1):是最早的SQL标准版本,于1986年发布。它定义了基本的SQL语法和功能,包括SELECT、INSERT、UPDATE、DELETE等语句。

  2. SQL-89(SQL2):在1989年做了一些修订和扩展,增加了JOIN操作、子查询等功能。

  3. SQL-92(SQL2):于1992年发布,是SQL标准的重要版本。它进一步扩展了语法和功能,包括支持存储过程、触发器、视图等特性。

  4. SQL:1999(SQL3):也称为SQL-99,是一个重大的更新,引入了许多新功能,如窗口函数、递归查询、用户定义类型、XML支持等。

  5. SQL:2003:在SQL:1999的基础上做了一些修订和扩展,加入了更多的功能和标准。这个版本对标准的XML支持有了进一步的改进,并增加了一些新的数据类型和功能。

  6. SQL:2008:继续在SQL:2003的基础上扩展和修订,引入了JSON数据类型、增强的窗口函数等新功能。

  7. SQL:2016:增加了一些新的特性,如行模式识别、JSON支持的扩展等。

  8. SQL:2019:在SQL:2016的基础上继续发展,引入了新的功能,例如多值插入、增强的JSON支持、增强的分析函数等。

这些SQL标准版本在数据库管理系统中的实现程度可能有所不同,因此不同的数据库产品可能支持的SQL标准版本和特性也会有所差异。

1.1. SQL-86标准

SQL-86是SQL(Structured Query Language)的最早版本,也被称为SQL1。它是在1986年发布的,被认为是SQL标准的第一个版本。SQL-86定义了基本的数据库操作和查询语言,为后续SQL标准的发展奠定了基础。

以下是SQL-86标准的一些主要特征和功能:

  1. 基本数据操作:SQL-86定义了用于执行基本数据操作的语句,包括:

    • SELECT:从数据库中检索数据。
    • INSERT:向数据库表中插入新行。
    • UPDATE:更新数据库表中的现有行。
    • DELETE:从数据库表中删除行。
  2. 数据定义:SQL-86支持基本的数据定义语句,允许创建和管理数据库对象,包括:

    • CREATE TABLE:创建数据库表格。
    • DROP TABLE:删除数据库表格。
    • ALTER TABLE:修改数据库表格结构。
  3. 数据操作语言(DML):SQL-86定义了用于操作数据库中数据的语言元素,允许对数据进行查询、添加、修改和删除操作。

  4. 数据控制语言(DCL):SQL-86包含对数据访问权限进行控制的语句,如GRANTREVOKE

  5. 简单查询功能:SQL-86支持基本的查询操作,包括对单个表进行查询、排序、过滤和检索数据。

  6. 简单的连接操作:SQL-86允许使用JOIN进行表连接操作,尽管相对于后续版本而言,连接功能非常有限。

  7. 基本约束和完整性:SQL-86允许定义基本的数据完整性和约束,如主键约束。

尽管SQL-86奠定了SQL语言的基础,但它相对简单,并缺乏后续版本中引入的许多高级功能和复杂的查询操作。随着时间的推移,SQL标准经历了多次演变和增强,不断引入新的功能和改进,以满足不断增长的数据管理需求。

1.2. SQL-89标准

SQL-89是SQL标准的一个版本,也称为SQL2。它于1989年发布,是SQL-86版本的修订和扩展。SQL-89引入了一些重要的改进和新功能,扩展了SQL语言的功能和能力。

以下是SQL-89标准的一些主要特征和改进:

  1. JOIN语法的改进:SQL-89引入了改进的JOIN语法,允许在查询中使用更灵活的表连接操作。虽然仍然相对简单,但相比SQL-86有了一些改进。

  2. 子查询:SQL-89开始支持子查询,允许在一个SQL语句内部嵌套另一个查询,以实现更复杂的数据检索和处理。

  3. 新增的数据类型:SQL-89引入了一些新的数据类型和操作符,增加了数据处理的灵活性和功能性。

  4. GROUP BY和聚合函数的改进:SQL-89对GROUP BY子句和聚合函数(如SUM、AVG、COUNT等)进行了改进和扩展,使得对数据进行分组和汇总更为灵活。

  5. 排序功能的改进:SQL-89引入了更多的排序选项,允许对查询结果进行更灵活的排序操作。

  6. 数据完整性约束的增强:SQL-89增强了数据完整性约束的定义和管理,使得在数据库中定义数据约束更加方便和有效。

尽管SQL-89相对于SQL-86有了一些重要的改进,但它仍然相对简单,并不包含后续SQL版本中引入的许多高级功能和复杂查询操作。随着时间的推移,SQL标准持续发展和演变,后续的版本引入了更多功能和改进,以满足不断增长的数据管理需求。

1.3. SQL-92标准

SQL-92,也称为SQL2,是SQL标准的一个重要版本,于1992年发布。它在SQL-89的基础上做了许多改进和扩展,增加了一些重要的功能和语法,使得SQL语言更加强大和灵活。

以下是SQL-92标准的一些主要特征和改进:

  1. 存储过程和触发器:SQL-92引入了存储过程和触发器的概念,允许开发者在数据库中编写和存储自定义的程序和操作,提高了数据库的灵活性和可扩展性。

  2. 更强大的JOIN功能:SQL-92进一步改进了JOIN语法,增加了外连接(OUTER JOIN)的支持,允许更复杂的表连接操作。

  3. 更多的数据类型:SQL-92引入了更多的数据类型和操作符,如大对象类型(LOB:Large Objects)、行类型等,增加了对复杂数据结构的支持。

  4. 视图:SQL-92支持视图(VIEW),允许用户定义虚拟表格来简化复杂的查询和数据访问。

  5. 更严格的数据完整性:SQL-92加强了对数据完整性的支持,包括更强大的约束定义和管理。

  6. 更强大的子查询:SQL-92扩展了子查询的功能,使得嵌套查询可以更加灵活和复杂。

  7. 控制和事务处理:SQL-92引入了更多的控制语句,如CASE表达式,同时加强了事务处理的支持,包括COMMITROLLBACK等操作。

  8. 标准化的权限管理:SQL-92定义了标准的权限管理语法,允许对用户和角色的权限进行更精细的控制。

SQL-92的发布使得SQL语言更加成熟和全面,让数据库管理系统具备了更多强大的功能和能力。它被广泛采用,并成为了后续SQL标准版本的基础,对于数据库领域的发展具有重要的影响。然而,即使在SQL-92之后,SQL标准仍在不断发展和演进,后续的版本不断引入新的功能和改进,以适应不断变化的数据管理需求。

1.4. SQL1999标准

SQL:1999是SQL标准的一个重要版本,引入了许多新功能和扩展,于1999年发布。这个版本对SQL语言和数据库管理系统的发展具有重大影响,引入了许多创新的特性,扩展了SQL的功能和能力。

以下是SQL:1999标准的一些主要特征和改进:

  1. 窗口函数:SQL:1999引入了窗口函数,允许在查询中进行更复杂和灵活的数据分析。窗口函数允许在结果集的子集上执行聚合,而不需要分组整个结果集。

  2. 递归查询:SQL:1999增加了递归查询的支持,使得使用递归算法进行数据查询变得更加便捷。

  3. 用户定义的数据类型:引入了用户定义的数据类型(UDT),允许开发者创建自定义的数据类型,增强了数据建模的灵活性。

  4. XML支持:SQL:1999首次引入了对XML数据类型和XML查询语言的支持,使得SQL能够更好地处理和操作XML数据。

  5. 新的数据类型和操作符:SQL:1999引入了一些新的数据类型和操作符,如数组、多集和多值数据类型,以及更多的操作符和函数,增强了SQL的表达能力和功能。

  6. 触发器的增强:SQL:1999对触发器的功能进行了扩展,允许在触发器中使用更多的语句和操作。

  7. 更多的数据完整性约束:引入了更多种类的数据完整性约束,使得数据库的数据更容易受到保护和管理。

  8. 大对象数据类型(LOB)的改进:SQL:1999对大对象数据类型(LOB)的处理和管理进行了改进,更好地支持存储和管理大容量的数据。

SQL:1999标准的发布标志着SQL语言迈向了更加成熟和全面的阶段,引入了许多新颖和强大的功能,为数据库管理系统提供了更多的可能性。然而,实际上并不是所有数据库产品都完全支持SQL:1999标准的所有特性,因此在实际使用中,需要根据具体的数据库管理系统和版本来了解其对SQL:1999的支持程度。

1.5. SQL2003标准

SQL:2003是SQL标准的一个重要版本,于2003年发布。它在SQL:1999的基础上做了一些修订和扩展,引入了一些新的功能和改进,进一步完善了SQL语言的功能和能力。

以下是SQL:2003标准的一些主要特征和改进:

  1. 更多的窗口函数:SQL:2003扩展了对窗口函数的支持,使得窗口函数的功能更加强大和灵活。

  2. 序列和自增字段:引入了序列(Sequence)和自增字段(Identity Columns)的概念,为数据库中生成唯一标识符提供了更方便和标准的方式。

  3. 更强大的数据类型支持:SQL:2003引入了更多种类的数据类型,包括布尔类型(BOOLEAN)、日期和时间处理的增强类型等,增强了数据建模的灵活性。

  4. 更多的XML支持:SQL:2003进一步加强了对XML数据类型和XML查询语言的支持,允许更方便地操作和处理XML数据。

  5. 对标量子查询的扩展:引入了对标量子查询(Scalar Subqueries)的支持,允许在SELECT列表中使用子查询。

  6. 更多的标准化函数和操作符:SQL:2003引入了更多的标准函数和操作符,增强了SQL语言的表达能力。

  7. 更多的数据完整性约束和管理:加强了对数据完整性约束的支持和管理,使得数据库更容易受到保护和控制。

  8. 对外部数据集成的改进:SQL:2003增强了对外部数据集成的能力,使得数据库系统更容易与外部数据进行集成和交互。

SQL:2003标准的发布进一步丰富了SQL语言的功能,使得数据库管理系统具备了更多强大的能力。然而,与以往一样,并非所有数据库产品都完全支持SQL:2003标准的所有特性,因此在实际使用中,需要根据具体的数据库管理系统和版本来了解其对SQL:2003的支持程度。

1.6. SQL2008标准

SQL:2008是SQL标准的一个重要版本,于2008年发布。它在SQL:2003的基础上做了一些修订和扩展,引入了一些新的功能和改进,进一步完善了SQL语言的功能和能力。

以下是SQL:2008标准的一些主要特征和改进:

  1. 分析函数(Analytic Functions):引入了更多强大的分析函数,如ROW_NUMBERRANKDENSE_RANK等,使得对数据进行分析和排名更加灵活和强大。

  2. 对日期和时间处理的增强:增强了对日期和时间数据类型的支持,并引入了更多的日期和时间处理函数,提供了更多操作日期和时间的选项。

  3. 更多的数据类型支持:引入了更多种类的数据类型,包括几何类型(Geometric Types)、网络地址类型(Network Address Types)等,增强了数据建模的灵活性。

  4. 增强的外部数据访问支持:加强了对外部数据访问和集成的支持,使得数据库系统更容易与外部数据源进行交互和整合。

  5. 更多的XML支持:进一步加强了对XML数据类型和XML查询语言的支持,允许更灵活地操作和处理XML数据。

  6. 更严格的数据完整性:加强了对数据完整性约束的支持和管理,包括更强大的约束和更精细的约束控制。

  7. SQL调试功能:引入了SQL调试功能,允许开发者更容易地调试SQL代码,提高了开发效率。

  8. 更多的标准函数和操作符:引入了更多的标准函数和操作符,增强了SQL语言的表达能力和操作灵活性。

SQL:2008标准的发布进一步丰富了SQL语言的功能,为数据库管理系统提供了更多强大的能力。然而,同样需要指出,并非所有数据库产品都完全支持SQL:2008标准的所有特性,因此在实际使用中,需要根据具体的数据库管理系统和版本来了解其对SQL:2008的支持程度。

1.7. SQL2016标准

SQL:2016是SQL标准的一个重要版本,于2016年发布。这个版本引入了一些新的功能和改进,旨在进一步完善SQL语言的功能和能力。

以下是SQL:2016标准的一些主要特征和改进:

  1. 行模式识别:引入了行模式识别(Row Pattern Recognition)功能,允许使用模式匹配来识别和提取满足特定模式的行,这对于复杂的数据分析和查询非常有用。

  2. JSON支持的扩展:增强了对JSON(JavaScript Object Notation)数据格式的支持,包括更多的JSON函数和操作符,使得对JSON数据的处理更为灵活和方便。

  3. 增强的分析函数:进一步完善了分析函数的功能,提供了更多的分析选项和函数,使得对数据进行分析更加强大和灵活。

  4. 更多的时间和日期类型:引入了更多的时间和日期数据类型,以及针对时间和日期的操作函数,增强了对时间和日期处理的支持。

  5. SQL执行信息存储:增加了对SQL执行信息的存储和管理,使得开发者更容易追踪和管理SQL执行的信息和统计数据。

  6. 增强的权限管理:加强了对权限管理的支持,包括更精细的权限控制和管理选项。

  7. 增强的标准函数和操作符:引入了更多的标准函数和操作符,增强了SQL语言的表达能力和操作灵活性。

  8. 多值插入:引入了多值插入(Multiple-Row VALUES)的语法,允许一次性插入多行数据,提高了插入操作的效率。

  9. 增强的安全特性:引入了更多的安全特性,包括加密算法的改进和更强大的加密支持。

SQL:2016标准的发布进一步丰富了SQL语言的功能,为数据库管理系统提供了更多强大的能力。然而,需要指出,并非所有数据库产品都完全支持SQL:2016标准的所有特性,因此在实际使用中,需要根据具体的数据库管理系统和版本来了解其对SQL:2016的支持程度。

1.8. SQL2019标准

SQL:2019是SQL标准的一个重要版本,于2019年发布。这个版本引入了一系列新功能和改进,致力于进一步完善SQL语言的功能和能力,以适应不断变化和增长的数据管理需求。

以下是SQL:2019标准的一些主要特征和改进:

  1. 多值插入的增强:进一步改进了对多值插入(Multiple-Row VALUES)的支持,提供更多的选项和灵活性。

  2. 增强的JSON支持:加强了对JSON(JavaScript Object Notation)数据格式的支持,包括更多的JSON函数、操作符和语法,使得对JSON数据的处理更加便捷和强大。

  3. 增强的分析函数:进一步扩展了分析函数的功能和选项,使得对数据进行分析更加灵活和强大。

  4. 增强的安全特性:引入了更多的安全特性,包括对安全性的改进、更强大的加密支持和更严格的权限控制。

  5. 行模式识别的扩展:进一步扩展了行模式识别的功能,允许更复杂和更灵活的模式匹配,以便更高效地进行数据分析和处理。

  6. SQL执行信息的存储和查询:引入了对SQL执行信息的存储和查询功能,使得开发者可以更轻松地追踪和管理SQL执行的信息和统计数据。

  7. 多值数据类型的支持:增加了对多值数据类型的支持,允许更方便地存储和操作多值数据。

  8. 增强的时间和日期类型:引入了更多种类的时间和日期数据类型,以及对时间和日期的操作函数,增强了对时间和日期处理的支持。

  9. 增强的标准函数和操作符:进一步扩展了标准函数和操作符的数量和功能,增强了SQL语言的表达能力和操作灵活性。

SQL:2019标准的发布进一步丰富了SQL语言的功能,为数据库管理系统提供了更多强大的能力。然而,并非所有数据库产品都完全支持SQL:2019标准的所有特性,因此在实际使用中,需要根据具体的数据库管理系统和版本来了解其对SQL:2019的支持程度。

2. 各个标准中的重要特性的时间线

1986 - SQL-86 (SQL1):基本的数据操作(SELECT、INSERT、UPDATE、DELETE)

1989 - SQL-89 (SQL2):改进的JOIN操作、子查询功能

1992 - SQL-92 (SQL2):存储过程、触发器、更强大的JOIN、数据定义语言

1999 - SQL:1999 (SQL3):窗口函数、递归查询、用户定义类型、XML支持

2003 - SQL:2003:序列、自增字段、增强的XML支持、标量子查询

2008 - SQL:2008:分析函数、更多数据类型、增强的外部数据访问、更多XML支持

2016 - SQL:2016:行模式识别、JSON支持的扩展、多值插入、安全特性增强

2019 - SQL:2019:多值插入增强、更多JSON支持、安全特性增强、行模式识别扩展

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1311921.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

利用高级 CSPM 应对现代攻击

混合云和多云环境的快速增长造成了跨架构的复杂性,使得人们很难清楚、完整地了解技术堆栈中的各种平台。最近云攻击和破坏的激增引起了人们对团队应如何有效地保护和运行云中的应用程序的关注。 因为错误配置是云环境中安全威胁的首位,并且是基于云的攻…

Android--Jetpack--Navigation详解

须知少日拏云志,曾许人间第一流 一,定义 Navigation 翻译成中文就是导航的意思。它是谷歌推出的Jetpack的一员,其目的主要就是来管理页面的切换和导航。 Activity 嵌套多个 Fragment 的 UI 架构模式已经非常普遍,但是对 Fragmen…

Kubernetes 容器编排 -- 1

前言 知识扩展 早在 2015 年 5 月,Kubernetes 在 Google 上的搜索热度就已经超过了 Mesos 和 Docker Swarm,从那儿之后更是一路飙升,将对手甩开了十几条街,容器编排引擎领域的三足鼎立时代结束。 目前,AWS、Azure、Google、阿里…

python学习1

大家好,这里是七七,今天开始又新开一个专栏,Python学习。这次思考了些许,准备用例子来学习,而不是只通过一大堆道理和书本来学习了。啊对,这次是从0开始学习,因此大佬不用看本文了,小…

旅游景区文旅地产如何通过数字人开启数字营销?

随着元宇宙的发展,为虚实相生的营销带来更多的可能性。基于虚拟世界对于现实世界的模仿,通过构建沉浸式数字体验,增强现实生活的数字体验,强调实现真实体验的数字化,让品牌结合数字人开启数字化营销。 *图片源于网络 …

Qt图像处理-Qt中配置OpenCV打开本地图片

本文讲解Qt中配置OpenCV过程并用实例展示如何使用OpenCV打开图片(windows环境下) 一、下载OpenCv 本文使用版本OpenCV-MinGW-Build-OpenCV-3.4.5 下载地址: https://codeload.github.com/huihut/OpenCV-MinGW-Build/zip/refs/heads/OpenCV-3.4.5 点击Code-local-Downlo…

【VRTK】【VR开发】【Unity】15-远程抓取

课程配套学习资源下载 https://download.csdn.net/download/weixin_41697242/88485426?spm=1001.2014.3001.5503 【背景】 之前的篇章介绍了如何实现直接抓取,本篇介绍另一种抓取方式-远程抓取。 【远程抓取的先决条件】 要让远程抓取起作用,需要先设置oculus提供的手部…

架构设计系列之常见架构(一)

本部分对常见架构进行简单的说明。 一、三层架构之经典 MVC 经典的 MVC 架构(Model-View-Controller)架构是软件系统架构设计中的经典,它将应用程序分为三个主要部分: 模型(Model)视图(View&…

内存问题(一)——内存概述

一、内存泄漏(Memory Leak) 是指程序中已动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。 二、一般内存泄露的方式 常发性内存泄漏:发生内存泄…

Java实现快速排序及其动图演示

快速排序(Quicksort)是一种基于分治思想的排序算法。它通过选择一个基准元素,将数组分为两个子数组,其中一个子数组的所有元素都小于基准元素,另一个子数组的所有元素都大于基准元素,然后递归地对这两个子数…

C_11练习题答案

一、单项选择题(本大题共20小题,每小题2分,共40分。在每小题给出的四个备选项中,选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。) 以下叙述中正确的是(C)A.C语言不是一种高级语言 B.C语言不用编译就能被计算机执行 C.C语言能够直接访问物理地址和进行位…

Process On在线绘制流程图

目录 一.ProcessOn 1.1.介绍 1.2.直接网上使用 二.绘制门诊流程图 三.绘制住院流程图 四.绘制药库采购入库流程图 五.绘制OA会议流程图 今天就到这里了哦!!!希望能帮到你哦!!! 一.ProcessOn 1.1.介绍 ProcessOn(流程&#…

【强化学习-读书笔记】多臂赌博机 Multi-armed bandit

参考 Reinforcement Learning, Second Edition An Introduction By Richard S. Sutton and Andrew G. Barto强化学习与监督学习 强化学习与其他机器学习方法最大的不同,就在于前者的训练信号是用来评估(而不是指导)给定动作的好坏的。 …

Windows中使用pthread线程库

由于时间成本,不想使用Windows线程API,因此想用pthread线程库;但pthread是Linux默认的POSIX线程库,Windows中并不自带,需要自己配置。 因为pthread遵循POSIX标准,因此其在Windows中使用应该和Linux中大同小…

JAVA:深入探讨Map的多种遍历方式

1、简述 在现代编程中,Map(映射)是一种常见的数据结构,用于存储键-值对。在许多编程语言中,Map提供了灵活的数据组织方式,但为了充分发挥其功能,我们需要了解多种遍历方式。本文将深入探讨Map的…

国际刑警组织推出新的生物识别系统

2023 年 11 月 29 日,国际刑警组织发布了一份有关创建生物识别工具的新闻稿,至少在意大利,该工具似乎已经陷入沉默,但让我们看看为什么我们会对这个东西感兴趣。 国际刑警组织的新闻稿用了整整一段时间来讨论与隐私相关的问题&am…

【sqli靶场】第六关和第七关通关思路

目录 前言 一、sqli靶场第六关 1.1 判断注入类型 1.2 观察报错 1.3 使用extractvalue函数报错 1.4 爆出数据库中的表名 二、sqli靶场第七关 1.1 判断注入类型 1.2 判断数据表中的字段数 1.3 提示 1.4 构造poc爆库名 1.5 构造poc爆表名 1.6 构造poc爆字段名 1.7 构造poc获取账…

Android Studio实现俄罗斯方块

文章目录 一、项目概述二、开发环境三、详细设计3.1 CacheUtils类3.2 BlockAdapter类3.3 CommonAdapter类3.4 SelectActivity3.5 MainActivity 四、运行演示五、项目总结 一、项目概述 俄罗斯方块是一种经典的电子游戏,最早由俄罗斯人Alexey Pajitnov在1984年创建。…

保障事务隔离级别的关键措施

目录 引言 1. 锁机制的应用 2. 多版本并发控制(MVCC)的实现 3. 事务日志的记录与恢复 4. 数据库引擎的实现策略 结论 引言 事务隔离级别是数据库管理系统(DBMS)中的一个关键概念,用于控制并发事务之间的可见性。…

【动态规划】【广度优先搜索】LeetCode:2617 网格图中最少访问的格子数

本文涉及的基础知识点 二分查找算法合集 动态规划 题目 给你一个下标从 0 开始的 m x n 整数矩阵 grid 。你一开始的位置在 左上角 格子 (0, 0) 。 当你在格子 (i, j) 的时候&#xff0c;你可以移动到以下格子之一&#xff1a; 满足 j < k < grid[i][j] j 的格子 (i,…