mySQL:模式匹配'一个条件或另一个但不是两个'

时间:2015-10-24 00:11:47

标签: mysql pattern-matching

我正在尝试制作代码"显示区域大的国家/地区人口不是 &#34 ;.它应该显示名称,人口和面积。

代码引用的表格

Table the code references

到目前为止,这是我的代码......

SELECT name, population, area FROM world
WHERE area > 3000000 OR population > 250000000 OR name != LIKE '%United States%'


world包含nameareapopulation

有人有什么建议吗?

2 个答案:

答案 0 :(得分:2)

使用XOR(异或)运算符:

SELECT name, population, area FROM world
WHERE area > 3000000 XOR population > 250000000

答案 1 :(得分:2)

您可以使用XOR。如果只有一个参数为真,那就是真的。

SELECT name, population, area
FROM world
WHERE (area > 3000000 XOR population > 250000000) 
    AND name NOT LIKE '%United States%'

我还改变了United States测试的组合方式。我假设您试图将美国排除在结果之外,因此需要AND