SQL - 不等于: 初学者的全面指南

嘿,未来的SQL大师们!准备好探索数据库操作的神奇世界了吗?今天,我们将要了解你SQL工具箱中最有用的工具之一:不等于操作符。相信我,通过这个教程,你将能够像专业人士一样使用这个操作符!

SQL - NOT EQUAL

SQL 不等于操作符

让我们从基础开始。在SQL中,不等于操作符用来比较两个值,并在它们不相同时返回true。这就像在问,“嘿,这两样东西不一样吗?”如果它们不一样,SQL就会给你一个点赞。

实际上,在SQL中有三种写法来表示不等于操作符:

操作符 描述
<> 不等于
!= 不等于
NOT column_name = 不等于

让我们看看每种写法是如何工作的:

SELECT * FROM employees WHERE salary <> 50000;
SELECT * FROM employees WHERE salary != 50000;
SELECT * FROM employees WHERE NOT salary = 50000;

这三个查询都会返回相同的结果:所有工资不等于50,000的员工列表。酷吧?

现实世界示例

想象你正在管理一个宠物商店的数据库。你想找到所有不是狗的宠物。以下是如何做到这一点:

SELECT * FROM pets WHERE animal_type <> 'dog';

这个查询会从'pets'表中获取所有'animal_type'不是'dog'的行。所以你会看到猫、鸟、鱼,甚至可能还有一些外来生物!

不等于与文本

当处理文本数据时,不等于操作符是区分大小写的。这意味着'Dog'和'dog'被认为是不同的。让我们看看这是如何工作的:

SELECT * FROM pets WHERE animal_type <> 'Dog';

这个查询可能会返回'animal_type'是'dog'(小写)的行,因为'Dog'(大写)不等于'dog'(小写)。

专业提示

为了使文本比较不区分大小写,你可以使用UPPER()或LOWER()函数:

SELECT * FROM pets WHERE LOWER(animal_type) <> 'dog';

现在,这个查询将排除所有狗,无论'dog'在你的数据库中如何大小写。

不等于与GROUP BY子句

不等于操作符也可以与GROUP BY子句一起使用。这在你想聚合数据同时排除某些组时特别有用。

假设你想要计算每种宠物的数量,但你对狗不感兴趣:

SELECT animal_type, COUNT(*) as pet_count
FROM pets
WHERE animal_type <> 'dog'
GROUP BY animal_type;

这个查询将给出除了狗以外的所有宠物类型的数量。这就像组织一个“除了狗以外的所有人”的派对!

不等于与多个条件

你可以将不等于操作符与其他条件结合使用AND和OR。这允许更复杂的查询。

例如,让我们找到所有不是狗且年龄超过5岁的宠物:

SELECT * FROM pets
WHERE animal_type <> 'dog' AND age > 5;

或者你可能想要所有不是狗或年龄超过10岁的宠物:

SELECT * FROM pets
WHERE animal_type <> 'dog' OR age > 10;

使用不等于否定条件

有时,表达你不需要的东西比表达你需要的东西更容易。不等于操作符非常适合这种情况。

例如,而不是列出你想要的宠物类型,你可以排除你不想要的:

SELECT * FROM pets
WHERE animal_type <> 'dog'
AND animal_type <> 'cat'
AND animal_type <> 'fish';

这个查询将返回除了狗、猫和鱼以外的所有宠物。就像说,“给我所有的外来宠物!”

有趣的类比

把不等于操作符想象成夜总会的保安。你告诉它,“不要让任何狗进来!”保安(不等于)站在门口,检查每个'animal_type',只让非狗进入。

结束语

就这样,伙计们!你刚刚了解了SQL不等于操作符的来龙去脉。从基本比较到复杂查询,你现在有了告诉你的数据库你不需要什么的能力。

记住,掌握SQL的关键是练习。所以,马上启动你的SQL环境,开始尝试这些查询。改变条件,尝试不同的数据类型,看看你得到的结果。

在你意识到之前,你将能够像专业人士一样使用不等于操作符,过滤掉不需要的数据,比猫追逐激光笔还快!

快乐查询,愿你的数据总是干净,你的查询总是闪电般快速!

Credits: Image by storyset