我正在用C#和Java编写查询生成器,并且担心生成UNION语句。我知道UNION子句中的每个单独语句都不能包含ORDER BY子句,而是必须放在完整union语句的末尾。是否还有其他条件我应该知道?即通常适用于单个选择语句的条件,但是当放置在UNION
语句中时会导致问题?据我所知,每个单独的陈述可以包含GROUP BY,WHERE和HAVINGs。我错过了什么吗?单个UNION语句中不允许的子句
0
A
回答
2
根据该SQL syntax specification,选择语句返回多个行是一个查询表达式接着任选的ORDER BY
子句:
<direct_select_statement:multiple_rows> ::=
<query_expression> [ <order_by_clause> ]
反过来,查询表达式的定义是
<query_expression> ::= <non-join_query_expression> | <joined_table>
和非-join查询表达式指定了UNION
:
<non-join_query_expression> ::=
<non-join_query_term>
| <query_expression> UNION [ ALL ] [ <corresponding_spec> ] <query_term>
| <query_expression> EXCEPT [ ALL ] [ <corresponding_spec> ] <query_term>
因此,在UNION ALL
子句中的单个查询表达式中使用ORDER BY
在语法上是不正确的;没有其他类似的查询子句不能在UNION
中使用。
+0
+1,感谢您的信息! – 2013-03-16 11:49:00
相关问题
- 1. 允许CASE语句
- 2. Bash不允许case语句中的if语句
- 3. 在多语句事务中不允许CREATE DATABASE语句
- 4. Java中允许多个&&语句?
- 5. SQL UNION语句
- 6. 允许多个jQuery的import语句
- 7. UNION语句顶部的SELECT语句
- 8. VBScript中的UNION SQL语句
- 9. MySQL允许在where子句
- 10. 单个INSERT INTO语句中允许有多少个值?
- 11. C++中的简单逻辑。不允许使用IF语句
- 12. QRCodeSignature类不允许记录语句
- 13. UNION与IF语句
- 14. 允许从UITextView中的句子输入单个URL
- 15. 是否允许我的VHDL语句?
- 16. 解决方法python 2.4的yield不允许在try子句中用finally子句
- 17. 如何在PHP中的两个SQL语句之间添加UNION子句?
- 18. UNION两个命令的MySQL语句
- 19. MySQL的UNION VS IN子句
- 20. 具有两个ORDER BY子句的mySQL UNION子句
- 21. where子句中的多个语句
- 22. Where子句中的多个If语句
- 23. JOIN语句不where子句
- 24. 嵌套的INSERT,UPDATE,DELETE或MERGE语句在SELECT语句是不允许
- 25. 为什么C#允许语句之后的语句但不在它之前?
- 26. 允许使用if语句回传吗?
- 27. 为什么swift不允许嵌套if语句和其他语句?
- 28. UNION SQL语句不起作用
- 29. UNION ALL FROM SELECT语句不工作
- 30. phpmyadmin不允许INSERT语句中的MySQL函数
列和数据类型必须匹配。 – 2013-03-16 11:27:21