在不同的資料庫中解析SQLServer資料
在軟體開發的初始階段,開發商們總是想把整個系統的最小的細節設計好了,然後再去單執行緒的編寫程式碼。這樣軟體開發完成需要很長時間,但開發商們一直都在這麼做。
所以開發者不得不去縮小他們的野心,先設計好一個小系統,然而這個小系統只是解決了整個系統難題中的一部分。這導致了由不同的團隊設計和建立的許多小系統幾乎都不能相互之間相容。
目前,許多組織都聘請了資料庫建模者或者DBA,這些人能監督資料庫設計和開發。不幸的是,那些組織只有在出現某些狀況後,才會意識到在他們的員工中需要這樣的人。
資料建模者和DBA面對的一個非常普遍的問題就是,如何在不同的資料庫中解析SQL資料。本文將通過一個可靠的方法來說明這個問題。
一個例項
在這個例項方案中,有兩個包含相似資料的資料庫:一個使用術語OrderNumber,另一個使用術語OrderNo。第一個資料庫有關鍵字而第二個資料庫沒有。
首先,你會在兩個資料庫中發現它們的順序是相似的。清單A建立了兩個資料庫(Test_Cross_1和Test_Cross_2),每個資料庫中有一個表(分別是Orders_1和Orders_2)。
假設Orders_1包括這些行:
OrderNumberOrderDate
- 2007-02-23 00:00:00.000
- 2007-02-24 00:00:00.000
- 2007-02-25 00:00:00.000
假設Orders_2包括這些行:
OrderNo OrderDate
- 2007-02-23 00:00:00.000
2 2007-02-24 00:00:00.000
- 2007-02-24 00:00:00.000
3011 2007-02-25 00:00:00.000
一旦你明白瞭如何引用表SQL執行合併操作是很簡單的。簡而言之,你要有合法的名字。如清單B所示。這將不會成功,因為Order_2包括一行Order_1沒有的資料。改變連線,加入對外連線符也不會成功,就像你在清單C中看到的那樣。第二個查詢得到跟第一個查詢相同的結果,因為OrderNo 301不存在於第一個表中。找到這一行,你必須在第二個查詢中,將這個表的順序反轉。如清單D。現在你就能發現不匹配的行了。
OrderNo OrderDate OrderNumberOrderDate
1 2007-02-23 00:00:00.0001 2007-02-23 00:00:00.000
2 2007-02-24 00:00:00.0002 2007-02-24 00:00:00.000
- 2007-02-24 00:00:00.000NULL NULL
- 2007-02-25 00:00:00.0003011 2007-02-25 00:00:00.000
假設有一些行存在於Order_1中而不存在於Order_2中。你將上面的查詢翻轉,它也能工作,然而,隨後你會得到兩個查詢和兩個結果集,並結束你的查詢,這些你都必須手動比較。如果每個表只有四行,這是不困難的,但是想象一下如果有4,000行記錄的話,怎麼使用這種不切實際的方法進行比較呢。你必須對兩個表的每行沒出現在另外那張表的記錄進行檢查。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-558078/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【SqlServer】 理解資料庫中的資料頁結構SQLServer資料庫
- sqlserver讀取oracle資料庫資料SQLServerOracle資料庫
- 【資料庫資料恢復】windows server下SqlServer資料庫的資料恢復資料庫資料恢復WindowsServerSQL
- SQLSERVER 資料庫效能的基本SQLServer資料庫
- 資料庫資料恢復—SQLserver資料庫中勒索病毒被加密怎麼恢復資料?資料庫資料恢復SQLServer加密
- SqlServer資料庫資料恢復報告SQLServer資料庫資料恢復
- Jtti:sqlserver怎麼清空資料庫資料JttiSQLServer資料庫
- SQLServer批量新增資料庫SQLServer資料庫
- SqlServer資料庫恢復備份資料的方法SQLServer資料庫
- 【資料庫資料恢復】SqlServer資料庫無法讀取的資料恢復案例資料庫資料恢復SQLServer
- sqlserver 資料庫收縮的方法SQLServer資料庫
- Sqlserver資料庫使用 .bak 檔案還原資料庫SQLServer資料庫
- 做資料庫分離讀寫時,sqlServer資料庫資料同步的問題:資料庫SQLServer
- jmeter 連線 sqlserver 資料庫JMeterSQLServer資料庫
- Android連線資料庫sqlserverAndroid資料庫SQLServer
- [SQLServer]NetCore中將SQLServer資料庫備份為Sql指令碼SQLServerNetCore資料庫指令碼
- 資料庫資料恢復—NTFS分割槽損壞如何恢復SqlServer資料庫資料資料庫資料恢復SQLServer
- Sqlserver_Oracle_Mysql_Postgresql不同資料庫之隔離級別介紹ServerOracleMySql資料庫
- sqlserver資料庫的備份還原SQLServer資料庫
- sqlserver收縮資料庫、收縮資料檔案的操作SQLServer資料庫
- 資料庫安全審計在資料安全中的功能資料庫
- 在MongoDB資料庫中查詢資料(上)MongoDB資料庫
- 資料庫在資料分析中如何應用資料庫
- 還原sql server 2000資料庫的坑,不同版本資料庫SQLServer資料庫
- 伺服器資料恢復—透過拼接資料庫碎片恢復SqlServer資料庫資料的資料恢復案例伺服器資料恢復資料庫SQLServer
- SQLSERVER學習1——資料庫概念SQLServer資料庫
- SQLServer查詢所有資料庫大小SQLServer資料庫
- 新增時--sqlserver資料庫跟蹤SQLServer資料庫
- sqlserver資料庫下載安裝SQLServer資料庫
- JDBC之連線sqlserver資料庫JDBCSQLServer資料庫
- mysql,sqlserver資料庫單表資料過大的處理方式MySqlServer資料庫
- 誤刪除儲存SqlServer資料庫資料恢復SQLServer資料庫資料恢復
- 【北亞資料恢復】sqlserver資料庫被加密的資料恢復案例分享資料恢復SQLServer資料庫加密
- Spring Boot應用中如何動態指定資料庫,實現不同使用者不同資料庫的場景Spring Boot資料庫
- Sqlserver資料庫儲存路徑的修改SQLServer資料庫
- 操作sqlserver資料庫常用的三個方法SQLServer資料庫
- Mysql 大資料表 資料匯入到SqlServer 中的方法MySql大資料Server
- 資料庫管理丨10種不同的雲開發資料庫管理技巧資料庫
- 將MYSQL資料顯示在QT的tablewidget中/將QT中的資料儲存到MYSQL資料庫中MySqlQT資料庫