Sql server如何用范围连接查找值
2007-05-18 09:38:04 来源:WEB开发网核心提示:连接总能检验等式,这真是怪事,Sql server如何用范围连接查找值,但连接的作用并不仅限于此,我们还可以根据“小于或等于”与“大于或等于”来应用连接,列表H中为得到的新结果,你还可以将同样的技巧应用于几乎所有包含范围的数据类型中,我甚至还能想到一个“不等于
连接总能检验等式,这真是怪事。但连接的作用并不仅限于此。我们还可以根据“小于或等于”与“大于或等于”来应用连接。我甚至还能想到一个“不等于”应用连接的例子。事实上,有许多方法建立连接,范围连接只是其中的一种。
虽然我们都知道教科书中关系乘法的例子,但SQL Server开发人员一般还是应用连接来结合两个表格(列表A)。
SELECT T1.*, T2.ColumnOfInterest
FROM T1, T2
这样你得到T1行数与T2行数的积。这在概念上很有趣,但实际上你又用过多少次呢?
我们倾向于根据等式来考虑连接(T1.ColumnName = T2.ColumnName)。但是,你的表格中可能包含这样的信息,如税率、保险费率与运价。例如,如果你的包裹没有1千克重,你支付的价格为x;如果它的重量在1至4千克之间,你支付的价格为y。由于它可以匹配较大的行数,所以我将其为范围连接。
你可以用BETWEEN关键字来表达连接。首先,假定两个表格(列表B)。在上述数据库中,假定两个表格(列表C)。列表D中包含发货人的税率表。列表E为发货表格中的值。列表F中包含将所有这些值结合起来的概念。列表G中为在表格中应用概念所得到的值。
如前两列所示,我们有个问题。重量1与ShippingRates表中的两行对应,因此我们稍微精确一个数据的边界。我们错在将MinWeight和MaxWeight栏定义为整数。如果我们将它们改为浮点数,并略微调整一下MinWeight值(第二行为1.01,第三行为4.01),就可以解决问题。列表H中为得到的新结果。
你还可以将同样的技巧应用于几乎所有包含范围的数据类型中,如征收所得税的工资、保险费率年龄、重量以及人口统计分析之中。
- ››如何检查oracle的归档空间是否满了
- ››如何在浏览器中打开PDF文件并实现预览的思路与代码...
- ››如何改Win7系统我的文档保存位置
- ››SQL Server 2008 R2 下如何清理数据库日志文件
- ››如何让ios app支持32位和64位
- ››如何删除Windows 8系统未知的账户
- ››如何提高win7系统的响应速度?
- ››sqlite 存取中文的解决方法
- ››SQL2005、2008、2000 清空删除日志
- ››如何避免iPhone应用中内存泄露
- ››如何转移Win 7系统C盘的用户文件夹
- ››SQL Server 2005和SQL Server 2000数据的相互导入...
更多精彩
赞助商链接