SQL语法是什么

SQL编程语言的语法由ISO / IEC SC 32定义和维护,作为ISO / IEC 9075的一部分。该标准不是免费提供的。 尽管存在标准,但SQL代码在不经过调整的情况下不能在不同的数据库系统之间完全移植。

SQL 编程语言的语法由 ISO / IEC SC 32 定义和维护,作为 ISO / IEC 9075 的一部分。该标准不是免费提供的。 尽管存在标准,但 SQL 代码在不经过调整的情况下不能在不同的数据库系统之间完全移植。

SQL

语言元素

SQL 语言细分为几个语言元素,包括:

1、子句,是语句和查询的组成部分。

2、表达式,可以生成标量值,也可以生成由列和行数据组成的表。

3、谓词,指定可以评估为 SQL 三值逻辑(3VL)(真/假/未知)或布尔真值的条件,用于限制语句和查询的效果,或用于更改程序流。

4、查询,根据特定条件检索数据。这是 SQL 的一个重要元素。

语句可能对架构和数据产生持久影响,或者可能控制事务,程序流,连接,会话或诊断。

SQL 语句还包括分号(“;”)语句终止符。虽然并非每个平台都需要,但它被定义为 SQL 语法的标准部分。在 SQL 语句和查询中通常会忽略无关紧要的空格,从而可以更轻松地格式化 SQL 代码以提高可读性。

操作

有时建议或实施其他运营商,例如天际线运营商(仅用于查找那些不比其他运营商“更糟糕”的记录)。

SQL 具有 case / when / then / else / end 表达式,它是在 SQL-92 中引入的。 在其最常见的形式中,在 SQL 标准中称为“搜索案例”:

SQL 测试条件按顺序出现在源中。 如果源未指定 ELSE 表达式,则 SQL 默认为 ELSE NULL。 SQL 标准镜像 switch 语句中的缩写语法 – 称为“简单大小写”:

此语法使用隐式相等比较,通常需要注意与 NULL 进行比较。特殊 CASE 表达式有两种简短形式:COALESCE 和 NULLIF。

COALESCE 表达式返回通过从左到右工作找到的第一个非 NULL 操作数的值,如果所有操作数都等于 NULL,则返回 NULL。

相当于:

NULLIF 表达式有两个操作数,如果操作数具有相同的值,则返回 NULL,否则它具有第一个操作数的值。

相当于:

查询

SQL 中最常见的操作(查询)使用声明性 SELECT 语句。 SELECT 从一个或多个表或表达式中检索数据。标准 SELECT 语句对数据库没有持久影响。 SELECT 的一些非标准实现可以具有持久性效果,例如某些数据库中提供的 SELECT INTO 语法。

查询允许用户描述所需的数据,让数据库管理系统(DBMS)执行计划,优化和执行生成所选结果所必需的物理操作。

查询包括要包含在最终结果中的列的列表,通常紧跟在 SELECT 关键字之后。星号(“*”)可用于指定查询应返回查询表的所有列。 SELECT 是 SQL 中最复杂的语句,可选的关键字和子句包括:

FROM 子句,指示从中检索数据的表。 FROM 子句可以包含可选的 JOIN 子子句,以指定连接表的规则。

WHERE 子句包含比较谓词,它限制查询返回的行。 WHERE 子句从结果集中删除比较谓词未计算为 True 的所有行。

GROUP BY 子句将具有公共值的行投影到较小的行集中。 GROUP BY 通常与 SQL 聚合函数结合使用,或者从结果集中消除重复的行。 WHERE 子句在 GROUP BY 子句之前应用。

HAVING 子句包含用于过滤 GROUP BY 子句产生的行的谓词。因为它作用于 GROUP BY 子句的结果,所以可以在 HAVING 子句谓词中使用聚合函数。

ORDER BY 子句标识用于对结果数据进行排序的列,以及对它们进行排序的方向(升序或降序)。如果没有 ORDER BY 子句,则 SQL 查询返回的行的顺序是未定义的。

DISTINCT 关键字消除了重复数据。

LIMIT 子句指定要返回的记录数。请注意,所有 SQL 数据库都不支持此子句。

查询的子句具有特定的执行顺序,由右侧的数字表示。它如下:

SELECT <columns> ………………………………….. 5

FROM <table> ………………………………………. 1

WHERE <行上的谓词> ……………………… 2

GROUP BY <columns> …………………………………… 3

HAVING<关于群体的谓词> ………………….. 4

ORDER BY <columns> ………………………………….. 6

以下 SELECT 查询示例返回昂贵的书籍列表。该查询从 Book 表中检索 price 列包含大于 100.00 的值的所有行。结果按标题按升序排序。选择列表中的星号(*)表示 Book 表的所有列都应包含在结果集中。

子查询

可以嵌套查询,以便可以通过关系运算符或聚合函数在另一个查询中使用一个查询的结果。 嵌套查询也称为子查询。 虽然连接和其他表操作在许多情况下提供计算上优越的(即更快的)替代方案,但子查询的使用在执行中引入了可能有用或必要的层次结构。 在以下示例中,聚合函数 AVG 接收子查询的结果作为输入:

子查询可以使用外部查询中的值,在这种情况下,它称为相关子查询。

自 1999 年以来,SQL 标准允许子查询的 WITH 子句,即命名子查询,通常称为公共表表达式(也称为子查询因子分解)。 CTE 也可以通过引用自己来递归;结果机制允许树或图遍历(当表示为关系时),更一般地说是固定点计算。

派生表

派生表是在 FROM 子句中引用 SQL 子查询的用法。实质上,派生表是可以从中选择或连接的子查询。派生表功能允许用户将子查询作为表引用。内联视图也称为内联视图或子选择。

在以下示例中,SQL 语句涉及从初始“Book”表到派生表“sales”的连接。此派生表使用 ISBN 连接到“Book”表来捕获相关的图书销售信息。因此,派生表提供的结果集包含其他列(销售的商品数量和销售图书的公司):

数据操作

数据操作语言(DML)是用于添加,更新和删除数据的 SQL 的子集:

INSERT 将行(正式元组)添加到现有表中,例如:

UPDATE 修改一组现有的表行,例如:

DELETE 从表中删除现有行,例如:

MERGE 用于组合多个表的数据。它结合了 INSERT 和 UPDATE 元素。它在 SQL:2003 标准中定义;在此之前,一些数据库通过不同的语法提供了类似的功能,有时称为“upsert”。

(0)
时间不会说谎  的头像时间不会说谎  

相关推荐

  • 伊莱克斯冰箱2003gb,如何维护保养,延长使用寿命

    伊莱克斯冰箱2003gb是一款备受欢迎的家用电器,其高品质和耐用性使其成为许多家庭的首选。然而,无论是多么高品质的电器,如果不得当地使用和维护,它们的使用寿命也会大大缩短。在本文中,我们将为您介绍如何维护和保养伊莱克斯冰箱2003gb,以延

    2023年11月9日
  • icloud怎么恢复微信(微信如何恢复以前的数据)

    今天给各位分享icloud怎么恢复微信的知识,其中也会对微信如何恢复以前的数据进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览:1、苹果apple微信删除后怎么恢复回来?2、icloud能不能恢复微信聊天

    2023年10月2日
  • 全网通支持移动卡吗,如何选择适合自己的手机网络

    随着移动互联网的普及,手机已经成为了人们生活中必不可少的物品。而在选择手机的时候,网络成为了人们最为关注的问题之一。那么,全网通支持移动卡吗?如何选择适合自己的手机网络呢?本文将为大家一一解答。一、全网通支持移动卡吗?全网通手机是指支持

    2023年10月29日
  • 华为麦芒8怎么升级鸿蒙系统,详细步骤教程

    华为麦芒8是一款非常受欢迎的手机,它的用户群体非常广泛。随着华为鸿蒙系统的发布,许多麦芒8用户都想知道如何升级到最新的鸿蒙系统。在本文中,我将为您提供详细的步骤,以帮助您顺利升级到鸿蒙系统。步骤1:备份数据在升级鸿蒙系统之前,您需要备份

    2023年11月12日
  • 打印机怎么打印相片纸,步骤详解

    相片纸是一种特殊的打印纸,用于打印照片。相片纸通常比普通打印纸更厚,有不同的纹理和光泽度,以呈现更好的照片效果。但是,许多人不知道如何使用打印机打印相片纸。在本文中,我们将详细介绍打印机如何打印相片纸的步骤。步骤一:选择相片纸首先,您需

    2023年12月8日
  • 笔记本小键盘数字键不能用怎么办,如何快速解决

    作为一名电脑用户,我们经常会遇到这样的问题:笔记本小键盘数字键不能用。这个问题看似小,但是却会给我们的工作和生活带来很多不便。那么,当我们遇到这个问题时,该怎么办呢?本文将为大家介绍一些快速解决的方法。方法一:检查NumLock键首先

    2023年12月7日
  • 中兴直板按键手机大全,哪些型号值得购买

    中兴作为国内知名手机品牌,一直以来都受到广大消费者的喜爱。虽然现在市面上大多数手机都是触屏手机,但是仍然有很多人喜欢使用按键手机。中兴直板按键手机在市场上也拥有一定的市场份额,那么中兴直板按键手机有哪些型号值得购买呢?下面就为大家介绍中兴直

    2023年10月17日
  • tplink无线网卡需要驱动吗,如何安装和更新驱动程序

    本文目录一览TPLink无线网卡需要驱动吗?如何安装TPLink无线网卡驱动程序?如何更新TPLink无线网卡驱动程序?如何解决TPLink无线网卡驱动程序无法正常工作的问题?结论TPLink无线网卡是一种可以在电脑上使用的无线网卡

    2023年11月1日
  • USB-C显示器值得吗

    长远的角度来看是值得的,USB-C 仍然是一个相当新的标准。也就是说它正在迅速成为设备使用的主要 USB 连接。新设备和配件往往具有 USB-C 连接,甚至包括一些 iPad Pr…

  • 飞利浦e330与e570比较,哪款更适合你的需求

    如果你正在寻找一款性能出色的手机,飞利浦e330和e570都是不错的选择。这两款手机都有着出色的性能和功能,但它们之间还是有一些差异的。在本文中,我将对飞利浦e330和e570进行比较,帮助你确定哪款手机更适合你的需求。外观设计首先,让

    2024年1月26日
  • 徕卡最新款相机,有哪些升级和改进的功能

    徕卡是一家享誉世界的相机品牌,其产品一直以来都备受摄影爱好者的喜爱。近日,徕卡推出了最新款相机,该相机在功能和性能上都有了很大的提升和改进。本文将介绍徕卡最新款相机的升级和改进的功能。一、外观设计方面徕卡最新款相机的外观设计简洁大方,采

    2023年11月1日
  • 佳能EOS digital,如何选择最适合你的相机型号

    本文目录一览佳能EOSdigital(如何选择最适合你的相机型号)佳能EOSdigital(如何选择最适合你的相机型号)作为一名摄影爱好者,选择一款适合自己的相机是非常重要的。佳能EOSdigital系列相机一直以来都备受关注,但是

    2023年11月6日
  • 松下和索尼哪个好,如何选择最适合你的电子产品品牌

    本文目录一览松下和索尼哪个好(如何选择最适合你的电子产品品牌)品牌历史和声誉产品线价格如何选择结论松下和索尼哪个好(如何选择最适合你的电子产品品牌)在电子产品市场上,松下和索尼是两个备受欢迎的品牌。它们都有着出色的产品和技术,但

    2024年2月8日
  • 驱动人生离线网卡版,如何下载并安装

    作为一名电脑爱好者,我们都知道驱动程序的重要性。驱动程序是计算机硬件设备与操作系统之间的桥梁,缺少驱动程序,硬件设备将无法正常工作。驱动人生离线网卡版是一款非常实用的驱动程序管理工具,它可以离线安装电脑中的各种驱动程序,让我们的电脑更加稳定

    2024年2月17日
  • 还有htc手机,HTC手机还有市场吗?

    随着智能手机市场的不断发展,越来越多的品牌进入了这一领域。而对于曾经风靡一时的HTC手机来说,它的市场份额似乎已经不如以前了。那么,HTC手机还有市场吗?我们来一起探讨一下。一、HTC手机的历史HTC成立于1997年,最初是从事笔记本电

    2023年12月1日

发表回复

登录后才能评论