SQL 表达式怎么用?SQL 中表达式有哪些类型和用法?

文章导读
上一个 测验 下一个 什么是 SQL 表达式? SQL 表达式是由一个或多个值、运算符和 SQL 函数组合而成,它们最终被求值为一个值。这些 SQL 表达式类似于公式,用查询语言编写。您还可以用它们查询数据库以获取特定数据集。
📋 目录
  1. A 什么是 SQL 表达式?
  2. B SQL 布尔表达式
  3. C SQL 数值表达式
  4. D SQL 日期表达式
A A

SQL - 表达式

目录
  • 什么是 SQL 表达式?
  • SQL 布尔表达式
  • SQL 数值表达式
  • SQL 日期表达式


上一个
测验
下一个

什么是 SQL 表达式?

SQL 表达式是由一个或多个值、运算符和 SQL 函数组合而成,它们最终被求值为一个值。这些 SQL 表达式类似于公式,用查询语言编写。您还可以用它们查询数据库以获取特定数据集。

表达式用于 SQL 查询的 WHERE 子句中。如您可能已知,WHERE 子句指定了一个条件,用于从数据库表中过滤记录。该条件由单个或多个表达式组成。这些表达式进一步分为三种类型 —

  • 布尔表达式
  • 数值表达式
  • 日期和时间表达式

在本章中,我们将详细讨论这些表达式。

语法

考虑以下包含一些表达式的基本 SELECT 语句语法 —

SELECT column1, column2, columnN
FROM table_name
WHERE [CONDITION|EXPRESSION];

SQL 布尔表达式

SQL 布尔表达式是返回 Boolean 数据类型的 SQL 表达式。这些表达式可以分为两种类型 —

  • 使用 SQL 比较运算符检查两个值相等的布尔表达式。在此,这些值的相等性是一个条件。
  • 布尔表达式还可以包含一个值与 SQL 逻辑运算符配对。在这种情况下,指定的逻辑充当条件。

它们返回 TRUE、FALSE 或 UNKNOWN 作为结果。如果条件满足,这些表达式返回 TRUE;否则返回 FALSE。当表达式中的任一操作数为 NULL 值时,返回 UNKNOWN。

语法

以下是布尔表达式的语法 —

SELECT column1, column2, columnN 
FROM table_name 
WHERE BOOLEAN EXPRESSION;

示例

考虑以下记录的 CUSTOMERS 表 —

ID NAME AGE ADDRESS SALARY
1 Ramesh 32 Ahmedabad 2000.00
2 Khilan 25 Delhi 1500.00
3 kaushik 23 Kota 2000.00
4 Chaitali 25 Mumbai 6500.00
5 Hardik 27 Bhopal 8500.00
6 Komal 22 Hyderabad 4500.00
7 Muffy 24 Indore 10000.00

以下查询是一个简单的示例,展示了 SQL 布尔表达式的使用 —

SELECT * FROM CUSTOMERS WHERE SALARY = 10000;

输出

输出将显示为 —

ID NAME AGE ADDRESS SALARY
7 Muffy 24 Indore 10000.00

SQL 数值表达式

SQL 数值表达式由两个操作数和一个 SQL 算术运算符组成。这些表达式用于在任何查询中执行数学运算。因此,操作数必须始终是数字,返回值也将始终是数字。

语法

以下是语法 —

SELECT numerical_expression as OPERATION_NAME
FROM table_name
WHERE NUMERICAL EXPRESSION ;

这里,numerical_expression 用于数学表达式或任何公式。

示例

以下是一个简单的示例,展示了 SQL 数值表达式的使用 —

SELECT 15 + 6;

输出

输出表检索为 —

21

示例

有几个内置函数如 avg()、sum()、count() 等,用于对表或特定表列执行所谓的聚合数据计算。

SELECT COUNT(*) FROM CUSTOMERS;

输出

输出显示如下 —

7

SQL 日期表达式

SQL Date Expressions 用于将日期相关值与当前系统日期和时间值进行比较。例如,在一家制造公司中,可以使用 WHERE 子句中的日期表达式来按年份分隔每年制造的物品。从一年的第一天到最后一天计数,将检索每个物品的计数;一旦收集到所需信息,公司就可以将这些信息用于自己的目的。

语法

以下是语法 −

SELECT column_name(s)
FROM table_name
WHERE DATE EXPRESSION ;

示例

在本示例中,我们尝试使用 CURRENT_TIMESTAMP 简单检索系统的当前时间戳。

SELECT CURRENT_TIMESTAMP;

输出

输出表格显示为 −

Current_Timestamp
2009-11-12 06:40:23

示例

考虑 ORDERS 表中的以下 Customer Order 记录:

ORDER_ID CUSTOMER_ID DATE ORDER_AMOUNT ITEM_COUNT
102 3 2009-10-08 00:00:00 3000 4
100 3 2009-10-08 00:00:00 1500 2
101 2 2009-11-20 00:00:00 1560 7
103 4 2008-05-20 00:00:00 2060 3

现在让我们检索 2008 年 6 月 1 日之前记录:

SELECT * FROM ORDERS WHERE DATE < '2008/06/01';

输出

输出表格显示为 −

ORDER_ID CUSTOMER_ID DATE ORDER_AMOUNT ITEM_COUNT
103 4 2008-05-20 00:00:00 2060 3