原始表是第一张图片
第二张图片是预期输出
第三张图片目前是我的输出
我当前的代码是SELECT CustomerName, Address FROM customers_tbl WHERE EXISTS(SELECT * FROM customers_tbl WHERE (Country = 'Mexico'));
答案 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
分别返回任何行。