sql-server - 在复杂查询中查找相关的 SELECT 子句
问题描述
我有一个很长很复杂的查询。它包括很多子查询。连接所有这些子查询非常困难。
我有一个WHERE
子句不能分配给相应的SELECT
.
有没有一种工具可以对它进行颜色突出显示以找到SELECT
该WHERE
子句?
解决方案
我个人不知道有一个工具可以突出匹配where
子句及其相关的select
. Redgate SQL 提示确实包含某些突出显示功能,但并非专门针对此功能,它是目前功能最齐全的工具之一。
所以我没有你的具体问题的答案(“有一个工具......”),但我想我仍然可以帮助你,但是以图像形式提供这种帮助会容易得多评论,因此答案而不是评论..
用竖河观察格式化sql的奇观!
我已经在启用 redgate sql 提示突出显示的情况下截取了这个屏幕截图,向您展示了它确实突出显示的一些内容,这可能会有所帮助:子查询别名在使用时突出显示。显然,在这种情况下,这是非常微不足道的,因为它们彼此相邻,但您可以想象一些更大的查询,这实际上是一个有用的指示。
select
但是要注意的主要事情是,当每个查询和子查询的andfrom
和where
等对齐时,理解查询的结构是多么容易。
是的,如果你有很多很多层次的嵌套,这会占用更多的水平空间。当然你可以用更小的缩进做类似的事情,但这是我个人的风格,我几乎不能再读其他任何东西了。此外,如果嵌套深度为 3 或 4 层,就会发生奇怪的事情,很少需要这样做。在这些情况下,您总是可以将子查询转换为 CTE。
推荐阅读
- ray - 异常被忽略:“ray.raylet.is simple_value”溢出错误:值太大而无法转换为 int
- css - 有没有办法让 Braintree drop-in ui 使用本地版本的 dropin.min.css 而不是 CDN?
- c# - 不要在 UWP 应用中的 WebView 之间共享 cookie
- laravel - Laravel 验证:如何设置 'required_if' 和 'integer'
- react-native - 如何更改日期选择器中的语言?
- windows-8 - 让我知道在另一个路径中获取同名文件的脚本
- node.js - 无法确定对象 Nodejs 中的属性键
- android - google play 的应用发布流程是否会读取应用的代码?
- javascript - 没有浏览数据权限的网站清除缓存
- postgresql - Postgres如何授予表上的引用