SQL - AND 和 OR 逻辑运算符
你好,未来的 SQL 大师们!欢迎来到关于 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