我正在尝试编写一个适用于MySQL和SQLite的SQL UNION.
(select_clause_A) UNION (select_clause_B)
Run Code Online (Sandbox Code Playgroud)
SQLite不喜欢这些语句的括号(参见'复合操作符'):http://www.sqlite.org/lang_select.html
不幸的是,如果您使用'order by'子句,我认为MySQL需要括号:http: //dev.mysql.com/doc/refman/5.0/en/union.html
有谁碰巧知道哪个数据库遵循SQL标准?我想它们都可能......
OMG*_*ies 14
UNION语句中不需要括号/括号.
MySQL是唯一一个我所知道的在这一刻,它允许您定义ORDER BY并LIMIT作为查询方括号括起来具体到每个查询,只要条款-标准SQL只允许ORDER BY对最终结果.在GROUP BY和HAVING条款是特定于拼成的UNION'd语句中的每个查询.
(SELECT a.column
FROM A_TABLE a
ORDER BY a.column DESC)
UNION
SELECT b.column
FROM B_TABLE b
Run Code Online (Sandbox Code Playgroud)
...如果您想要/需要移植到其他数据库,这将不会导致悲伤的结束.
SELECT a.column
FROM A_TABLE a
UNION
SELECT b.column
FROM B_TABLE b
ORDER BY column DESC
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4501 次 |
| 最近记录: |