gpt4 book ai didi

mysql - SQL 多重 AND 条件

转载 作者:行者123 更新时间:2023-11-29 06:48:48 25 4
gpt4 key购买 nike

这是我的查询:

SELECT * FROM addresses 
WHERE (addresses.name LIKE '%Jonathan%' OR addresses.domain LIKE '%Jonathan%')
AND (addresses.name LIKE '%gmail' OR addresses.domain LIKE '%gmail%')

AND 语句用于 WHERE 子句,假设 AND 子句之后的部分没有命中任何内容,结果是否会为空,因为它被添加为 AND 语句?在这个例子中,我试图捕获所有地址为 Jonathan 的人,以及所有 Jonathan 的地址为 gmail 的人。但是,如果让我们在这个例子中说 gmail 不存在任何名为 Jonathan 的人,我想要所有 Jonathan 结果(这就是为什么我认为使用 AND 语句不起作用)我可能没有正确措辞。

谢谢

最佳答案

您对不同的字段使用相同的比较可能会导致逻辑错误,请看这个例子

CREATE TABLE addresses  
(
id int auto_increment primary key,
name varchar(20),
domain varchar(30)
);

INSERT INTO addresses
(name, domain)
VALUES
('Jonathan', 'Jonathan@gmail.com'),
('Jonathan', 'Xavier@gmail.com'),
('Jonathan', 'Xavier@hotmail.com'),
('Jonathan', 'Jonathan@hotmail.com'),
('Xavier', 'Jonathan@hotmail.com')
;

使用您的查询,它将返回:

1   Jonathan    Jonathan@gmail.com
2 Jonathan Xavier@gmail.com

AND 运算符指定必须满足这两个条件。

看看这个demo , 它将帮助您了解 AND 运算符的工作原理

关于mysql - SQL 多重 AND 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16877270/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com