我想问一下我们是否可以在sql函数中使用子查询(同时考虑组和单个函数)。我一直在尝试这个简单的查询 -
select count(select empno from emp where sal<3000) from emp;
它给出错误“缺少表达”。这只是一个简单的例子。
我只是想知道这个查询逻辑是否错误,或者是否在sql中不允许,如果我们可以在sql函数中使用子查询,请注意提一个例子。
感谢。
答案 0 :(得分:1)
您的查询根本没有意义。你为什么不这样做?
select count(empno) from emp where sal<3000;
答案 1 :(得分:0)
我认为这是可能的。有关示例,请参阅http://www.akadia.com/services/sqlsrv_subqueries.html(在页面上找到“DATEDIFF”以查看它)。但是,我不确定它在各种SQL中是否可行;例如,我使用SAS,它有自己相当简单的SQL实现,但它似乎不允许它。
答案 2 :(得分:0)
即使您能够使用子查询,它也必须返回一个表达式或列名,可以通过循环记录来评估和计算。因此,您应该尝试将子查询结果用作查询中的列或任何其他连接组合来完成工作。