你能否解释SQL中EXISTS谓词的实际应用场景?
- 内容介绍
- 文章标签
- 相关推荐
本文共计3795个文字,预计阅读时间需要16分钟。
EXISTS函数用于检查SQL查询中是否存在符合条件的记录。支持SQL和关系数据库的基础理论主要包括两个方面:一是数学领域的集合论,二是作为现代逻辑学标准体系的谓词逻辑(predicate logic)。谓词逻辑,通常称为一阶谓词逻辑,是关系数据库理论的核心。
EXISTS 谓词的用法
支撑 SQL 和关系数据库的基础理论主要有两个:一个是数学领域的集合论,另一个是作为现代逻辑学标准体系的谓词逻辑(predicate logic),准确地说是“一阶谓词逻辑”。EXISTS 是为了实现谓词逻辑中“量化”(quantification)这一强大功能而被引入 SQL 的。
1\. 什么是谓词?
1.1 概述
SQL 的保留字中,有很多都被归为谓词一类。例如,“= 、< 、>”等比较谓词,以及 BETWEEN 、LIKE 、IN 、IS NULL 等。当然,我们说的谓词和主语/谓语中的谓语,以及英语中的动词是不一样的。
实际上,谓词是一种特殊的函数,返回值是真值。前面提到的每个谓词,返回值都是 true 、 false 或者 unknown (一般的谓词逻辑里没有 unknown ,但是 SQL 采用的是三值逻辑,因此具有三种真值)。谓词逻辑提供谓词是为了判断命题(可以理解成陈述句)的真假,而在关系数据库里,表中的一行数据可以看作是一个命题。
Tbl_A:
例如,这张表里第一行数据就可以认为表示这样一个命题:田中性别是男,而且年龄是 28 岁。
表常常被认为是行的集合,但从谓词逻辑的观点看,也可以认为是命题的集合(也就是描述每一行记录陈述句的集合)。
本文共计3795个文字,预计阅读时间需要16分钟。
EXISTS函数用于检查SQL查询中是否存在符合条件的记录。支持SQL和关系数据库的基础理论主要包括两个方面:一是数学领域的集合论,二是作为现代逻辑学标准体系的谓词逻辑(predicate logic)。谓词逻辑,通常称为一阶谓词逻辑,是关系数据库理论的核心。
EXISTS 谓词的用法
支撑 SQL 和关系数据库的基础理论主要有两个:一个是数学领域的集合论,另一个是作为现代逻辑学标准体系的谓词逻辑(predicate logic),准确地说是“一阶谓词逻辑”。EXISTS 是为了实现谓词逻辑中“量化”(quantification)这一强大功能而被引入 SQL 的。
1\. 什么是谓词?
1.1 概述
SQL 的保留字中,有很多都被归为谓词一类。例如,“= 、< 、>”等比较谓词,以及 BETWEEN 、LIKE 、IN 、IS NULL 等。当然,我们说的谓词和主语/谓语中的谓语,以及英语中的动词是不一样的。
实际上,谓词是一种特殊的函数,返回值是真值。前面提到的每个谓词,返回值都是 true 、 false 或者 unknown (一般的谓词逻辑里没有 unknown ,但是 SQL 采用的是三值逻辑,因此具有三种真值)。谓词逻辑提供谓词是为了判断命题(可以理解成陈述句)的真假,而在关系数据库里,表中的一行数据可以看作是一个命题。
Tbl_A:
例如,这张表里第一行数据就可以认为表示这样一个命题:田中性别是男,而且年龄是 28 岁。
表常常被认为是行的集合,但从谓词逻辑的观点看,也可以认为是命题的集合(也就是描述每一行记录陈述句的集合)。

