是否必須連接表以從中提取數據?從多個表訪問數據 - SQL
-1
A
回答
0
我相信你的意思是在一個查詢。有兩種方法我能想到的提取物對單個查詢多個表的數據沒有「加入」他們:
拳是工會
SELECT A, B, C FROM Table1
UNION
SELECT X, Y, Z FROM Table2
你也可以做一個「交叉聯接」這看起來並不像一個連接(並且是你所想的大概是什麼)
SELECT Table1.A, Table1.B, Table1.C, Table2.X, Table2,Y, Table2,Z
FROM Table1, Table2
正如你可以看到從語法不存在從一個表的其他關係。這意味着table1中的每一行都將與table2中的每一行相結合!
根據我的經驗,這是程序員新到SQL所犯的最常見的錯誤。當他們表示連接時,他們進行交叉連接,然後他們使用GROUP BY或DISTINCT來獲得他們想要的結果。這是非常低效的!
但是,交叉連接可以很好,特別是當你的表中只有一行時 - 那麼你將這些值添加到其他表中的每一行。你基本上爲每一行選擇一組列值。
,如果你想每一行具有最大的日期(這往往是在報告完成)
SELECT *
FROM Table1, (SELECT MAX(updatedate) as Max_Update FROM Table1) AS MaxDate
0
不一定,還有其他選項,如聯:
SELECT customerNumber id, contactLastname name
FROM customers
UNION
SELECT employeeNumber id,firstname name
FROM employees
上面的例子是採取從this. 還有其他時候,你可以同時運行多個查詢,等等同出一加入以獲得來自多個來源的數據。這完全取決於你想要做什麼。但是,連接是一種非常常見的 - 也許是最常用的方法。
相關問題
- 1. 多個訪問SQL Server數據庫中,一個表
- 2. 從多個類訪問數據庫
- 3. 通過asp.net從多個網頁訪問SQL Server數據庫
- 4. SQL選擇從多個數據問題
- 5. 從兩個表中訪問數據
- 6. 從表中訪問數據
- 7. 從sql server 2005中的單個表訪問數據太慢
- 8. 如何從父數據庫訪問的SQL Server表的數據
- 9. SQL從多個表中獲取數據
- 10. 從多個表中檢索數據 - SQL
- 11. SQL從多個表中獲取數據
- 12. SQL從多個表中選擇數據
- 13. 訪問-SQL:內部連接多個表
- 14. 訪問從多個表中添加數據
- 15. PostgreSQL從存儲函數訪問多個數據庫
- 16. 從多個ORM訪問一個數據庫::緩存問題
- 17. 從局域網訪問sql數據庫
- 18. 訪問SQL從其他數據庫
- 19. 訪問SQL數據庫從ASP
- 20. 從Android訪問SQL數據庫?
- 21. 如何從GWT訪問SQL數據庫?
- 22. 從SQL Server訪問Oracle數據
- 23. 如何訪問Pervasive SQL元數據表?
- 24. 訪問多個數據庫的Oracle
- 25. 如何在android中訪問多個數據庫表數據?
- 26. 訪問多個選項卡中的數據 - 數據表
- 27. 訪問多個表Mysql
- 28. 從多個進程併發訪問單個Sql Server壓縮數據庫文件
- 29. VS2010 SQL C#實體:訪問多個表以獲取單個數據? Foreach或Linq?
- 30. 如何使用SQL Server從ASP.NET的SELECT FROM訪問多個表?
THANK YOU霍根一樣! – Justin
@Justin - yw,確保你檢查了編輯,我添加了關於交叉連接的使用說明。 – Hogan