SQL 不等于
比较运算符是在SQL查询的WHERE子句中用于比较两个组件的保留字。这些运算符在SQL语句中用于列举条件,并用作多个条件的连接词。 SQL不等于 是其中一个运算符。
SQL不等于
我们知道存在两个不等于运算符(!=
和< >
)。为了测试两个表达式之间的不等式,我们可以使用SQL不等于运算符“!=
”和“<>
”。两者的结果相同。
主要区别在于“!=”不符合ISO标准,而“< >”符合。因为它符合ISO标准,您必须使用运算符“< >”。
语法
以下是使用不等于运算符的SQL查询的一部分,如下所示。
WHERE expression1 <> expression2
示例
让我们考虑以下在我们的数据库中存在的表“Customers”。要获得Customers表,请使用以下查询:
SQL> SELECT * FROM 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 | MP | 4500.00 |
+----+----------+-----+-----------+---------+
不等于文本
在SQL中,使用不等运算符来比较一个文本值和另一个文本值,以确定它们是否不同。我们可以在SQL语句的WHERE子句中使用”<>”或”!=”,并排除与特定文本值匹配的行。
示例
在这个例子中,我们想要选择表中名字不是Ramesh的每一个顾客。不等于运算符适用于文本和数字数据。执行下面的查询以获取除了一个名字不是Ramesh的顾客的所有顾客详情。
SQL> SELECT * FROM Customers WHERE NAME <> 'Ramesh';
输出
执行上述查询时,将生成如下所示的输出:
+----+----------+-----+---------+---------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+---------+---------+
| 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 | MP | 4500.00 |
+----+----------+-----+---------+---------+
不等于与 GROUP BY 子句
我们可以使用不等于运算符与 GROUP BY 子句来按特定列分组行并排除该列的某些值。
聚合函数如 COUNT()、MAX()、MIN()、SUM() 和 AVG() 经常与 GROUP BY 语句一起使用。
示例
在这个例子中,我们将使用不等于运算符和 GROUP BY 子句来计数和显示除了年龄为 “22” 之外每个地址的客户数量。
SQL> SELECT COUNT(id), AGE FROM Customers
WHERE AGE <> '22' GROUP BY AGE;
输出
执行上述查询时,将生成如下输出:
+-----------+-----+
| COUNT(id) | AGE |
+-----------+-----+
| 1 | 32 |
| 2 | 25 |
| 1 | 23 |
| 1 | 27 |
+-----------+-----+
在多个条件下不相等
根据情况,不相等运算符可以在WHERE子句中与多个条件一起使用,以过滤出符合特定条件的行。
示例
在这种情况下,我们将在查询中结合两个条件,并选择表中满足以下条件的所有客户,其工资要么大于2000,要么等于2000。同时,客户不能来自于“Bhopal”。
SQL> SELECT * FROM Customers
WHERE ADDRESS <> 'Bhopal' AND (SALARY>'2000' OR SALARY='2000');
输出
执行上述查询后,将生成如下所示的输出结果 −
+----+----------+-----+-----------+---------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+---------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
| 4 | Chaitali | 25 | Mumbai | 6500.00 |
| 6 | Komal | 22 | MP | 4500.00 |
+----+----------+-----+-----------+---------+
使用”不等于”来否定条件
在SQL中,”不等于”运算符也可以通过与NOT运算符结合来否定条件。这通常用于过滤满足特定条件的行。
示例
如果使用NOT运算符来否定”不等于”运算符提供的条件,您将获得等于(=)运算符的结果。执行以下查询,以了解更多。
SQL> SELECT *
FROM Customers
WHERE NOT SALARY != '2000';
输出
当查询被执行时,将生成如下所示的输出:
+----+---------+-----+-----------+---------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+---------+-----+-----------+---------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
+----+---------+-----+-----------+---------+