网站首页 > 技术文章 正文
本文将介绍SQL 中的谓词。 数据库管理工具Navicat Premium是一套数据库管理工具,让你使用一个程序即可同時连接到 MySQL、MariaDB、SQL Server、SQLite、Oracle 和 PostgreSQL 数据库。
Navicat Premium官方最新版免费下载试用,历史版本下载,在线文档和帮助文件下载-慧都网
什么是谓词
谓词只是一个计算结果为 TRUE、FALSE 或 UNKNOWN 的表达式。谓词通常用于 WHERE 和 HAVING 子句的搜索条件中、FROM 子句的联接条件以及需要布尔值的查询的任何其他部分中。
谓词有多种类型,包括:
什么是外部联接?
在链接相关的表和视图时,可使用四种基本的联接类型:内部联接、左联接、右联接和外部联接。内部联接不会返回任何一个表中在另一个表中不匹配的行。外部联接可以返回一个或两个表中不匹配的行。而最后三种连接类型都是外部联接的一种,其中:
- 比较
- LIKE
- BETWEEN
- IN
- EXISTS
- IS NULL (/INTEGER/DECIMAL/FLOAT...)
在本文的其余部分,我们将研究上述谓词类型的几个示例。
比较谓词
每当我们在表达式中使用比较运算符时,例如 WHERE employee_salary > 100000,我们都在构造一个计算结果为 TRUE、FALSE 或 UNKNOWN 的谓词。比较运算符包括:
- = 等于
- > 大于
- < 少于
- >= 大于或等于
- <= 少于或等于
- <> 不等于
因此,比较谓词的形式为:
expression_1 comparison_operator expression_2
在比较谓词中,expression2 也可以是子查询。如果子查询没有返回任何行,则比较谓词的计算结果为 FALSE。
LIKE 谓词
在 SQL 中,第一的模式匹配谓词是 LIKE 运算符,因为它将列值与指定的模式进行比较。LIKE 适用于任何字符或日期数据类型。以下是一个示例:
BETWEEN 谓词
BETWEEN 运算符指定一个范围,该范围确定限定值的下限和上限。例如,在谓词 income BETWEEN 5000 AND 20000 中,所选数据的范围是大于或等于 5000 且小于或等于 20000。BETWEEN 运算符可用于数字、文本和日期数据类型。以下是一个示例:
IN 谓词
IN 运算符允许指定用于查询搜索的两个或多个表达式。如果相应列的值等于 IN 谓词指定的其中一个表达式,则条件的结果为 TRUE:
EXISTS 谓词
EXISTS 谓词接受子查询作为参数。如果子查询返回一行或多行,则返回 TRUE。如果子查询返回零行,则返回 FALSE。
以下是一个示例:
IS NULL 谓词
使用 IS NULL 来确定表达式是否为 NULL,因为你无法使用 = 比较运算符测试 NULL。当应用于行值表达式时,所有元素都必须测试相同。
IS NULL 谓词的形式为:
IS [NOT] NULL
例如,如果 x 为 NULL,则表达式 x IS NULL 为 TRUE。
当表达式为 BOOLEAN 类型时,IS UNKNOWN 是 IS NULL 的同义词。
以下是的查询使用 IS NOT NULL 谓词来获取所有姓氏为非 NULL 值的演员:
谓词通常用于 WHERE 和 HAVING 子句的搜索条件中、FROM 子句的联接条件中。它是计算结果为 TRUE、FALSE 或 UNKNOWN 的表达式。
更多有关Navicat Premium使用教程可点击查看。
Navicat Premium中文教程,视频,Demo,示例,帮助文档,疑难解答-慧都网
Navicat Premium 是一套数据库管理工具,让你使用一个程序即可同時连接到 MySQL、MariaDB、SQL Server、SQLite、Oracle 和 PostgreSQL 数据库。了解更多购买详情可联系慧都在线客服。
猜你喜欢
- 2024-11-04 免费通用数据库工具DBeaver,替代收费的Navicat
- 2024-11-04 SSH必备知识点-申精 ssh的基本使用
- 2024-11-04 第32期Java面试题:数据库三范式、union和union all异同
- 2024-11-04 1、Oracle数据库的一些基本概念 oracle数据库概述
- 2024-11-04 攻薪季,Java架构师学习路线+视频
- 2024-11-04 数据库笔试面试130——在Oracle中,有关外部表说法正确的是?
- 2024-11-04 mysql和oracle中存储布尔值 oracle存储blob字段
- 2024-11-04 数据库对象的基本知识 简述数据库对象
你 发表评论:
欢迎- 621℃几个Oracle空值处理函数 oracle处理null值的函数
- 613℃Oracle分析函数之Lag和Lead()使用
- 602℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 598℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 594℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 586℃【数据统计分析】详解Oracle分组函数之CUBE
- 575℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 563℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)