mysql存在错误子句

时间:2017-08-04 06:30:20

标签: mysql

enter image description here我需要MySQL EXISTS子句中的帮助

原始表是第一张图片

enter image description here

第二张图片是预期输出

enter image description here

第三张图片目前是我的输出

我当前的代码是SELECT CustomerName, Address FROM customers_tbl WHERE EXISTS(SELECT * FROM customers_tbl WHERE (Country = 'Mexico'));

3 个答案:

答案 0 :(得分:0)

SELECT CustomerName, Address FROM customers_tbl Q WHERE EXISTS 
(SELECT * FROM customers_tbl SQ WHERE 
SQ.Country = Q.Country AND SQ.Country = 'Mexico');

以下是我的解释: 在SQL in Question中,如果表customers_tbl包含Country: Mexico,则子查询总是有一组结果。子查询不依赖于主查询。因此,在该SQL中,EXISTS条件始终为TRUE。因此,所有数据都将显示为输出。 根据我的回答,我在主要查询和表格中使用了别名表格。子查询。并且还使用了主查询和之间的连接;子。在这种情况下,子查询中的每个结果也将取决于main中的值。因此子查询仅获取相应的结果& EXISTS正常运作。

答案 1 :(得分:-1)

SELECT CustomerName, Address 
FROM customers_tbl 
WHERE EXISTS(SELECT Country FROM customers_tbl WHERE (Country = 'Mexico'));

试试这个。

答案 2 :(得分:-1)

您是否正确了解EXIST或Not EXIST条款?  我认为你不能正确地知道EXIST或Not EXIST条款,否则你不会问上面的问题。

EXISTS或NOT EXISTS返回true或false如果subquery分别返回任何行。

请阅读Subqueries with EXISTS or NOT EXISTS