SQL server數據在不同數據庫中的應用
在軟件開發的初始階段,開發商們總是想把整個系統的最小的細節設計好了,然后再去單線程的編寫代碼。這樣軟件開發完成需要很長時間,但開發商們一直都在這么做。
所以開發者不得不去縮小他們的野心,先設計好一個小系統,然而這個小系統只是解決了整個系統難題中的一部分。這導致了由不同的團隊設計和創建的許多小系統幾乎都不能相互之間兼容。
目前,許多組織都聘請了數據庫建模者或者DBA,這些人能監督數據庫設計和開發。不幸的是,那些組織只有在出現某些狀況后,才會意識到在他們的員工中需要這樣的人。
數據建模者和DBA面對的一個非常普遍的問題就是,如何在不同的數據庫中解析SQL數據。本文將通過一個可靠的方法來說明這個問題。
一個實例
在這個實例方案中,有兩個包含相似數據的數據庫:一個使用術語OrderNumber,另一個使用術語OrderNo。第一個數據庫有關鍵字而第二個數據庫沒有。
首先,你會在兩個數據庫中發現它們的順序是相似的。清單A創建了兩個數據庫(Test_Cross_1和Test_Cross_2),每個數據庫中有一個表(分別是Orders_1和Orders_2)。
假設Orders_1包括這些行:
|
一旦你明白了如何引用表SQL執行合并操作是很簡單的。簡而言之,你要有合法的名字。如清單B 所示。這將不會成功,因為Order_2包括一行Order_1沒有的數據。改變連接,加入對外連接符也不會成功,就像你在清單C中看到的那樣。第二個查詢得到跟第一個查詢相同的結果,因為OrderNo 301不存在于第一個表中。找到這一行,你必須在第二個查詢中,將這個表的順序反轉。如清單D。現在你就能發現不匹配的行了。
|
假設有一些行存在于Order_1中而不存在于Order_2中。你將上面的查詢翻轉,它也能工作,然而,隨后你會得到兩個查詢和兩個結果集,并結束你的查詢,這些你都必須手動比較。如果每個表只有四行,這是不困難的,但是想象一下如果有 4,000行記錄的話,怎么使用這種不切實際的方法進行比較呢。你必須對兩個表的每行沒出現在另外那張表的記錄進行檢查。
|
|
|
|
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解