如何形成这个MySQL查询?

时间:2011-07-18 14:33:49

标签: mysql if-statement union

我想创建一个类似于

的MyQSL查询
SELECT city, state, country FROM location 
UNION 
SELECT 'Chicago','Illinois', 'USA' IF 'Chicago' NOT IN (SELECT city FROM location);

基本上,如果结果中没有返回'Chicago',我想将其附加到结果中。问题是,查询需要FROM表...我是否使用虚拟表,或者我这样做是错误吗?

1 个答案:

答案 0 :(得分:5)

只需在没有条件的情况下编写第二个SELECT,让UNION为您完成工作。 UNION将从结果集中删除重复项,因此在第二个查询中重复“Chicago”没有任何害处。如果您的第一个SELECT中也出现“芝加哥”,则UNION将删除您的第二个查询创建的副本。

SELECT city, state, country FROM location 
UNION 
SELECT 'Chicago','Illinois', 'USA'