gpt4 book ai didi

mysql - sql 'AND' 没有给出正确的结果

转载 作者:行者123 更新时间:2023-12-02 14:05:28 24 4
gpt4 key购买 nike

我有一个 SQL 表,其中有一列名为“国家/地区”,我想显示国家/地区名称 = UK 的详细信息,我尝试使用以下语句来执行此操作:

select * 
from register_bs
INNER JOIN spouse_details ON register_bs.reg = spouse_details.reg
WHERE country != 'Australia' AND 'USA';

仅在使用时

country != 'Australia' 

它显示英国和美国的值,但是当我使用像

这样的 AND 运算符时
country != 'Australia' AND 'USA'

它没有显示任何值(我的表中有 UK 的值)。谁能告诉我为什么我的查询不起作用

最佳答案

您的问题是您实际上想要将 country 与这两个字符串进行比较,即

country != 'Australia' AND country != 'USA'

或者也许

country NOT IN ('Australia', 'USA')

当您有多个值时,后一种形式更实用。

当前存在的代码尝试使用 'USA' 作为 bool 值,因此 MySQL 尝试将其转换为整数,结果为 0(因为该字符串没有前导数字) ),然后转换为 false。所以你的情况就变成了

 country != 'Australia' AND false

这始终为 false,因此查询不返回任何行。

关于mysql - sql 'AND' 没有给出正确的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59243417/

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