當我從mySQL數據庫的多個表中檢索數據時,最好使用哪種方法,聯合,聯合或視圖?每種產品的優缺點是什麼?它們最適合什麼樣的環境?從多個表中拼接數據
-1
A
回答
0
這真的取決於您希望如何顯示這些數據。
連接用於選擇相關數據並將其全部顯示在同一行,其中聯合用於將兩個不同選擇語句的數據組合在一起。
就你而言,當你有一個非常複雜的查詢時,應該使用一個視圖,並且你想簡化選擇數據所需的select語句。如果你一遍又一遍地使用select語句,它會減少混淆。有很多其他的理由來使用觀點,但我不認爲他們是相關的這個問題。
+0
謝謝,這是我以後的信息 –
0
@ jworrin說什麼。
SQL是關於設置操作的。
A inner join B
是設置路口:甲∩乙A union B
是......好設置聯合:甲∪乙A left join B
是複合:(A ∉(A ∩ B))∪(A ∩ B)right join
與左連接相同。只需要語法糖來交換所涉及的表格/集合的位置。B right join A
與A left join B
相同。A full join B
也是一個複合:(A ∉(A ∩ B))∪(A ∩ B)∪(B ∉(A ∩ B))
使用哪種完全依賴於問題。
A view
本質上是一個不變的罐裝選擇語句。它允許您呈現「虛擬表」,例如,歸一化數據庫的非歸一化平面視圖。視圖對於限制對列和/或表的訪問等也很有用。
相關問題
- 1. 列表中的重複數據拼接
- 2. 迭代式地拼接多個數組
- 3. 多拼接
- 4. 如何在PHP中將數據從while循環拼接到多維數組中?
- 5. 從多個鏈接中獲取數據
- 6. 從MySQL中的多個表中選擇未連接的數據
- 7. 拼接列表
- 8. 如何連接多個數據表中的數據表?
- 9. 從數組中刪除元素(拼接)
- 10. 如何從多個數據庫的表中進行連接?
- 11. Mysql:從多個連接表中選擇特定數據
- 12. 使用左外部聯接從多個表中引入數據
- 13. 從多個表中選擇數據並使用左連接?
- 14. JPQL從多個表中提取數據
- 15. Zend從多個表中選擇數據
- 16. 從多個表MySql中獲取數據?
- 17. SQL從多個表中獲取數據
- 18. CakePHP從多個表中獲取數據
- 19. MySql從多個表中查詢數據
- 20. 從多個表中檢索數據 - SQL
- 21. CodeIgniter - 從多個表中刪除數據
- 22. 從多個表中檢索數據
- 23. 從多個表中讀取數據(VB)
- 24. 從多個表中獲取數據
- 25. 從多個表中選擇數據
- 26. 從多個表中獲取數據
- 27. MySQL:從多個表中檢索數據
- 28. SSIS從多個表中加載數據
- 29. 從多個表中搜索數據
- 30. SQL從多個表中獲取數據
這裏沒有一個正確的答案。這取決於您擁有的數據以及您想要使用的數據。 –
視圖可以使用JOIN和/或UNION,並且如果謂詞推送不能發生,可能會直接執行以及直接對錶執行操作。但我同意喬爾 - 這個問題太廣泛了,應該針對特定的數據庫。 –