SQL - 比较运算符



SQL 比较运算符用于比较两个或多个表达式,并根据比较结果返回布尔值(True 或 False)。以下是常用的一些 SQL 比较运算符

运算符 描述 示例
= 检查两个操作数的值是否相等,如果相等则条件为真。 (a = b) 不为真。
!= 检查两个操作数的值是否相等,如果不相等则条件为真。 (a != b) 为真。
<> 检查两个操作数的值是否相等,如果不相等则条件为真。 (a <> b) 为真。
> 检查左操作数的值是否大于右操作数的值,如果大于则条件为真。 (a > b) 不为真。
< 检查左操作数的值是否小于右操作数的值,如果小于则条件为真。 (a < b) 为真。
>= 检查左操作数的值是否大于或等于右操作数的值,如果大于或等于则条件为真。 (a >= b) 不为真。
<= 检查左操作数的值是否小于或等于右操作数的值,如果小于或等于则条件为真。 (a <= b) 为真。
!< 检查左操作数的值是否不小于右操作数的值,如果大于或等于则条件为真。 (a !< b) 为假。
!> 检查左操作数的值是否不大于右操作数的值,如果小于或等于则条件为真。 (a !> b) 为真。

在本节中,我们将学习每个运算符,并通过示例演示其用法。在继续之前,让我们使用以下查询创建一个名为 CUSTOMERS 的表:

CREATE TABLE CUSTOMERS(
   ID INT NOT NULL,
   NAME VARCHAR(15) NOT NULL,
   AGE INT NOT NULL,
   ADDRESS CHAR(25),
   SALARY DECIMAL(18, 2),
   PRIMARY KEY(ID)
);

创建表后,我们可以使用以下查询向表中插入一些值:

INSERT INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(1, 'Ramesh', 32, 'Ahmedabad', 2000.00);
INSERT INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(2, 'khilan', 25, 'Delhi', 1500.00);
INSERT INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(3, 'Kaushik', 23, 'Kota', 2000.00);
INSERT INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(4, 'chaitali', 25, 'Mumbai', 6500.00);
INSERT INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(5, 'Hardhik', 27, 'Bhopal', 8500.00);
INSERT INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(6, 'komal', 22, 'MP', 4500.00);
INSERT INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(7, 'Muffy', 24, 'Indore', 10000.00 );

让我们使用以下查询验证表是否已创建:

SELECT * FROM CUSTOMERS;

如下所示,该表已在数据库中创建。

ID 姓名 年龄 地址 薪资
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 Hardhik 27 Bhopal 8500.00
6 Komal 22 MP 4500.00
7 Muffy 24 Indore 10000.00

现在,让我们使用以上表执行所有 SQL 比较操作。

SQL 等于 (=) 运算符

SQL 中的等于运算符用于检查两个值是否相等。它用于筛选与特定条件匹配的值的行。

示例

在以下查询中,我们尝试执行等于 (=) 操作以检索所有年龄等于 25 的客户。

SELECT * FROM customers WHERE age = 25;

输出

执行上述查询后,获得的输出如下所示:

ID 姓名 年龄 地址 薪资
2 Khilan 25 Delhi 1500.00
4 Chaitali 25 Mumbai 6500.00

SQL 不等于 (!= 或 <>) 运算符

SQL 中的不等于运算符检查两个表达式是否不相等。它用于筛选与特定条件不匹配的值的行。

示例

在以下示例中,我们尝试检索所有年龄不等于 25 且薪资也不等于 2000 的客户。

SELECT * FROM customers WHERE age != 25 and SALARY <> 2000;

输出

执行上述查询后,获得的输出如下所示:

ID 姓名 年龄 地址 薪资
5 Hardhik 27 Bhopal 8500.00
6 Komal 22 MP 4500.00
7 Muffy 24 Indore 10000.00

SQL 大于 (>) 运算符

SQL 中的大于运算符用于返回具有大于指定值的值的行。它检查左表达式是否大于右表达式。它用于筛选高于特定阈值的值的行。

示例

以下查询检索“customers”表中“age”列大于 25 的所有行。

SELECT * FROM customers WHERE age > 25;

输出

执行上述查询后,显示的输出如下所示:

ID 姓名 年龄 地址 薪资
1 Ramesh 32 Ahmedabad 2000.00
5 Hardhik 27 Bhopal 8500.00

SQL 小于 (<) 运算符

SQL 中的小于运算符用于返回具有小于指定值的值的行。它检查左表达式是否小于右表达式。它用于筛选低于特定阈值的值的行。

示例

现在,我们检索所有薪资低于 5000 的客户。

SELECT * FROM customers WHERE salary < 5000;

输出

以上查询生成的表如下所示:

ID 姓名 年龄 地址 薪资
1 Ramesh 32 Ahmedabad 2000.00
2 Khilan 25 Delhi 1500.00
3 kaushik 23 Kota 2000.00
6 Komal 22 MP 4500.00

SQL 大于或等于 (>=) 运算符

SQL 中的大于或等于运算符用于返回具有大于或等于指定值的值的行。它检查左表达式是否大于或等于右表达式。它用于筛选等于或高于特定限制的值的行。

示例

现在,我们检索所有薪资大于或等于 4500 的客户。

SELECT * FROM customers WHERE salary >= 4500;

输出

以下是上述查询的输出:

ID 姓名 年龄 地址 薪资
4 Chaitali 25 Mumbai 6500.00
5 Hardhik 27 Bhopal 8500.00
6 Komal 22 MP 4500.00
7 Muffy 24 Indore 10000.00

SQL 小于或等于 (<=) 运算符

SQL 中的小于或等于运算符用于返回具有小于或等于指定值的值的行。它检查左表达式是否小于或等于右表达式。它用于筛选等于或低于特定限制的值的行。

示例

这里,我们检索所有年龄小于或等于 25 的客户。

SELECT * FROM customers WHERE age <= 25;

输出

生成的输出如下所示:

ID 姓名 年龄 地址 薪资
2 Khilan 25 Delhi 1500.00
3 kaushik 23 Kota 2000.00
4 Chaitali 25 Mumbai 6500.00
6 Komal 22 MP 4500.00
7 Muffy 24 Indore 10000.00

SQL 不小于 (!<) 运算符

SQL 中的不小于运算符用于返回不小于(即大于或等于)指定值的值的行。它检查左表达式是否大于或等于右表达式。它用于筛选等于或高于特定限制的值的行。

示例

这里,我们检索所有年龄不小于 25 的客户。

SELECT * FROM customers WHERE age !< 25;

输出

以上代码的输出如下所示:

ID 姓名 年龄 地址 薪资
1 Ramesh 32 Ahmedabad 2000.00
2 Khilan 25 Delhi 1500.00
4 Chaitali 25 Mumbai 6500.00
5 Hardhik 27 Bhopal 8500.00

SQL 不大于 (!>) 运算符

SQL 中的不大于运算符用于返回不大于(即小于或等于)指定值的值的行。它检查左表达式是否小于或等于右表达式。它用于筛选等于或低于特定限制的值的行。

示例

这里,我们检索所有薪资不大于 5000 的客户。

SELECT * FROM customers WHERE salary !> 5000;

输出

以上代码的输出如下所示:

ID 姓名 年龄 地址 薪资
1 Ramesh 32 Ahmedabad 2000.00
2 Khilan 25 Delhi 1500.00
3 kaushik 23 Kota 2000.00
6 Komal 22 MP 4500.00
sql-operators.htm
广告