SQL - AND 和 OR 逻辑运算符

你好,未来的 SQL 大师们!欢迎来到关于 SQL 中 AND 和 OR 运算符的课程。我很高兴能引导你们完成这次旅程,我保证,在这个教程结束时,你们将能够熟练地使用这些运算符。那么,让我们开始吧!

SQL - AND & OR

SQL AND 运算符

AND 运算符就像是逻辑运算符中的严格家长。只有当所有条件都满足时,它才会返回 true。把它想象成一个挑剔的食客,只有当每一道菜都符合他们的口味时,他们才会享受一顿饭。

来看一个简单的例子:

SELECT * FROM 学生
WHERE 年龄 > 18 AND 成绩 = 'A';

这个查询表示:“展示所有年龄超过18岁并且成绩为 A 的学生。”这就像是寻找完美学生!

这里有一个更复杂的例子:

SELECT 产品名称, 价格, 库存数量
FROM 产品
WHERE 价格 < 50 AND 库存数量 > 100 AND 类别 = '电子产品';

这个查询正在寻找价格适中且库存充足的电子产品。这就像是商店里寻找一个好交易!

多个 AND 运算符

你可以将多个 AND 运算符串联起来,创建一个非常具体的过滤器。这就像是制作一个有很多层的三明治 - 每一层(条件)都需要存在,查询才会返回结果。

SELECT * FROM 员工
WHERE 部门 = '销售'
AND 工作年限 > 5
AND 工资 < 75000
AND 绩效评分 = '优秀';

这个查询正在寻找经验丰富、表现卓越的销售员工,他们可能该加薪了。这就像是老板在寻找晋升的完美候选人!

AND 与其他逻辑运算符结合

AND 可以与其他运算符如 OR 和 NOT 结合,创建复杂的条件。来看一个例子:

SELECT * FROM 汽车
WHERE (品牌 = '丰田' OR 品牌 = '本田')
AND 年份 > 2015
AND (颜色 = '红色' OR 颜色 = '蓝色');

这个查询正在寻找近期生产的丰田或本田汽车,颜色为红色或蓝色。这就像是一个非常挑剔的汽车买家!

AND 与 UPDATE 语句结合

AND 不仅用于 SELECT 语句。在 UPDATE 语句中,当你想要修改特定记录时,它也非常有用:

UPDATE 产品
SET 价格 = 价格 * 1.1
WHERE 类别 = '电子产品'
AND 库存数量 < 50
AND 最后订单日期 < '2023-01-01';

这个查询将库存不足且近期未订购的电子产品的价格提高10%。这就像是商店经理根据需求调整价格!

SQL OR 运算符

如果 AND 是严格的家长,那么 OR 就是宽容的那位。如果任何一个条件满足,它就会返回 true。这就像是美食评论家,如果餐中的一道菜好吃,他们就会满意。

这里有一个简单的例子:

SELECT * FROM 客户
WHERE 国家 = '美国' OR 国家 = '加拿大';

这个查询检索来自美国或加拿大的所有客户。这比 AND 的范围要广。

多个 OR 运算符

和 AND 一样,你可以串联多个 OR 条件:

SELECT * FROM 图书
WHERE 类别 = '科幻'
OR 类别 = '奇幻'
OR 类别 = '悬疑'
OR 作者 = '斯蒂芬·金';

这个查询正在寻找几个流行类别的书籍,或者是由特定作者撰写的书籍。这就像是浏览书店的“热门选择”区域!

OR 与 AND 运算符结合

结合 OR 和 AND 可以创建强大的查询。记住要使用括号正确地分组你的条件:

SELECT * FROM 餐厅
WHERE (菜系 = '意大利菜' OR 菜系 = '法国菜')
AND 价格范围 <= 3
AND 评分 >= 4;

这个查询正在寻找评分高、价格合理的意大利或法国餐厅。这非常适合计划一顿美好的晚餐!

OR 与 DELETE 语句结合

OR 也可以用于 DELETE 语句,以删除满足多个条件之一的记录:

DELETE FROM 库存
WHERE (过期日期 < 当前日期)
OR (库存数量 = 0 AND 最后销售日期 < DATE_SUB(当前日期, INTERVAL 6 MONTH));

这个查询删除了过期的商品或超过六个月未销售的库存为零的商品。这就像是商店经理清理库存数据库!

下面是一个表格,总结了 AND 和 OR 运算符的关键点:

运算符 描述 用例 示例
AND 当所有条件为真时返回真 筛选结果 WHERE 年龄 > 18 AND 成绩 = 'A'
OR 任何条件为真时返回真 扩展搜索条件 WHERE 国家 = '美国' OR 国家 = '加拿大'

记住,掌握这些运算符的关键是练习。尝试编写自己的查询,尝试不同的组合,很快你就能轻松地编写复杂的 SQL 语句!

我希望这个教程能为你照亮 AND 和 OR 运算符的世界。继续编码,继续学习,最重要的是,享受你的 SQL 旅程!

Credits: Image by storyset