SQL查询理论问题 – 单语句与多语句查询
发布时间:2020-12-12 08:57:29 所属栏目:MsSql教程 来源:网络整理
导读:当我编写SQL查询时,我发现自己常常认为“单一查询无法做到这一点”.当发生这种情况时,我经常转向使用临时表(一种或另一种)的存储过程或多语句表值函数,最后简单地组合结果并返回结果表. 我想知道是否有人知道,仅仅作为理论问题,是否应该可以编写任何查询,将单
当我编写SQL查询时,我发现自己常常认为“单一查询无法做到这一点”.当发生这种情况时,我经常转向使用临时表(一种或另一种)的存储过程或多语句表值函数,最后简单地组合结果并返回结果表.
我想知道是否有人知道,仅仅作为理论问题,是否应该可以编写任何查询,将单个结果集作为单个查询(而不是多个语句)返回.显然,我忽略了代码可读性和可维护性等相关点,甚至可能是查询性能/效率.这更多是关于理论的 – 它可以做到……而且不用担心,当多语句在所有情况下更适合我的目的时,我当然不打算开始强迫自己编写单语句查询,但是它可能会让我思考是否有一个可行的方法来从单个查询获得结果. 我想一些参数是有序的 – 我正在考虑一个关系数据库(如MS SQL),其中的表遵循常见的最佳实践(例如所有具有主键的表等等). 注意:为了赢得“接受的答案”,您需要提供明确的证明(参考网络资料或类似内容). 解决方法至少使用最新版本的Oracle是绝对可能的.它有一个’model clause’,它使sql turing完整. ( http://blog.schauderhaft.de/2009/06/18/building-a-turing-engine-in-oracle-sql-using-the-model-clause/).当然,这一切都有通常的限制,我们实际上没有无限的时间和记忆.对于没有这些abdominations的普通sql方言,我认为不可能. 我无法看到如何在’普通sql’中实现的任务将是: 对于每一行‘获取当前行的值并返回那么多行,获取该值,返回那么多行,然后继续,直到你连续两次获取相同的值并返回结果. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql-server-2008 – TransactionScope和隔离级别
- Mysql两种情况下更新字段中部分数据的方法
- sqlalchemy – Alembic:自动生成迁移时如何忽略其他产品的
- SQLServer之多表联合查询
- sql-server – 什么工具从SQL Server分层数据生成图表?
- 清理或增加 错误日志归档文件
- SQL Server 2005通过日志查看服务器的运行情况
- DBCC大全集之(适用版本MS SQLServer 2008 R2)---DBCC CHE
- 在sqlserver 2005 中创建以sqlserver身份验证的账户
- SqlServer2008 数据库同步的两种方式 (发布、订阅)