連接總能檢驗等式,這真是怪事。但連接的作用并不僅限于此。我們還可以根據(jù)“小于或等于”與“大于或等于”來應(yīng)用連接。我甚至還能想到一個“不等于”應(yīng)用連接的例子。事實上,有許多方法建立連接,范圍連接只是其中的一種。 新疆軟件開發(fā)網(wǎng) m.jdtbank.com 搜集整理 雖然我們都知道教科書中關(guān)系乘法的例子,但SQL Server開發(fā)人員一般還是應(yīng)用連接來結(jié)合兩個表格(列表A)。 SELECT T1.*, T2.ColumnOfInterest FROM T1, T2 這樣你得到T1行數(shù)與T2行數(shù)的積。這在概念上很有趣,但實際上你又用過多少次呢? 我們傾向于根據(jù)等式來考慮連接(T1.ColumnName = T2.ColumnName)。但是,你的表格中可能包含這樣的信息,如稅率、保險費率與運價。例如,如果你的包裹沒有1千克重,你支付的價格為x;如果它的重量在1至4千克之間,你支付的價格為y。由于它可以匹配較大的行數(shù),所以我將其為范圍連接。 你可以用BETWEEN關(guān)鍵字來表達(dá)連接。首先,假定兩個表格(列表B)。在上述數(shù)據(jù)庫中,假定兩個表格(列表C)。列表D中包含發(fā)貨人的稅率表。列表E為發(fā)貨表格中的值。列表F中包含將所有這些值結(jié)合起來的概念。列表G中為在表格中應(yīng)用概念所得到的值。 如前兩列所示,我們有個問題。重量1與ShippingRates表中的兩行對應(yīng),因此我們稍微精確一個數(shù)據(jù)的邊界。我們錯在將MinWeight和MaxWeight欄定義為整數(shù)。如果我們將它們改為浮點數(shù),并略微調(diào)整一下MinWeight值(第二行為1.01,第三行為4.01),就可以解決問題。列表H中為得到的新結(jié)果。 你還可以將同樣的技巧應(yīng)用于幾乎所有包含范圍的數(shù)據(jù)類型中,如征收所得稅的工資、保險費率年齡、重量以及人口統(tǒng)計分析之中。
|