云服务器网:购买云服务器和VPS必上的网站!

SQL Server之虚列:掌握平衡与精准

SQL Server中虚列是指一个结构虚拟的、不占空间的列,它可以用于根据其他现有列计算数据,从而提高查询的精准度。由于虚列不占用空间,且不需要存储任何数据,因此查询处理也会比使用现有列更快速。 虚列是sql server中一种很强大的工具,它能够帮助用户更有

SQL Server中虚列是指一个结构虚拟的、不占空间的列,它可以用于根据其他现有列计算数据,从而提高查询的精准度。由于虚列不占用空间,且不需要存储任何数据,因此查询处理也会比使用现有列更快速。 虚列是sql server中一种很强大的工具,它能够帮助用户更有效地利用数据库中具有的资源,提供精准有效的查询结果。

一般情况下,建立虚列要分两步,首先定义虚列,然后提供虚列的实现。另外,对虚列的参数校验也很重要的,这将有助于准确地检索出有益的数据。下面是一个示例,在此虚列尝试以查询的方式实现以下功能:

SELECT

c1.contact_name,

c2.customer_name,

c1.contact_name AS [Contact Name],

c2.customer_name AS [Customer Name],

balance

FROM

contact AS c1

INNER JOIN

customer AS c2

ON c1.contact_id = c2.customer_id

WHERE

balance > 0

ORDER BY

c2.customer_name;

下面是这个虚列实现的SQL语句:

SELECT

c1.contact_name,

c2.customer_name,

c1.contact_name AS [Contact Name],

c2.customer_name AS [Customer Name],

SUM(payments.amount) OVER(PARTITION BY payments.contact_id) – SUM(invoices.amount) OVER(PARTITION BY invoices.contact_id) AS [balance]

FROM

contact c1

INNER JOIN

customer c2

ON c1.contact_id = c2.customer_id

INNER JOIN

payments

ON payments.contact_id = c1.contact_id

INNER JOIN

invoices

ON invoices.contact_id = c1.contact_id

WHERE

balance > 0

ORDER BY

c2.customer_name;

从上面可以看出,通过使用SQL Server虚列,可以很容易地实现查询balance字段,而且运行速度更快,实现更准确。

总结:SQL Server虚列是一种很强大的技术,最重要的是,它可以帮助用户根据现有列定高精度,用来计算新列,有助于缩短查询语句的履行时长和提高查询的精准度,从而到达平衡的效果。

本文来源:https://www.yuntue.com/post/111417.html | 云服务器网,转载请注明出处!

关于作者: yuntue

云服务器(www.yuntue.com)是一家专门做阿里云服务器代金券、腾讯云服务器优惠券的网站,这里你可以找到阿里云服务器腾讯云服务器等国内主流云服务器优惠价格,以及海外云服务器、vps主机等优惠信息,我们会为你提供性价比最高的云服务器和域名、数据库、CDN、免费邮箱等企业常用互联网资源。

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注