某些情况下,我们需要在多个表中查询数据。
例:
SELECT ts_code
FROM BasicLevel
WHERE `level` = 0
UNION
SELECT ts_code
FROM StockBasicData
WHERE total_income = 0
ORDER BY ts_code
该语句就是在BasicLevel中查找level = 0和StockBasicData表中total_income = 0的数据。
注意:
❑ UNION必须由两条或两条以上的SELECT语句组成,语句之间用关键字UNION分隔(因此,如果组合4条SELECT语句,将要使用3个UNION关键字)。
❑ UNION中的每个查询必须包含相同的列、表达式或聚集函数(不过各个列不需要以相同的次序列出)。
❑ 列数据类型必须兼容:类型不必完全相同,但必须是DBMS可以隐含地转换的类型(例如,不同的数值类型或不同的日期类型)。
UNION会自动去除重复,如果需要全部的结果则需要使用UNION ALL