翻譯|使用教程|編輯:莫成敏|2019-09-05 17:38:56.420|閱讀 11402 次
概述:在這篇文章中,我們將學習如何構建和執行SELECT查詢,該查詢將使用navicat Premium的SQL編輯器從多個數據庫中獲取數據。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Navicat Premium是一個可連接多種數據庫的管理工具,它可以讓你以單一程序同時連接到MySQL、Oracle及PostgreSQL數據庫,讓管理不同類型的數據庫更加的方便。
隨著Master-Slave拓撲和數據庫分片等現代實踐的日益普及,數據庫管理員(DBA)和開發人員比以往任何時候都更多地使用多個數據庫。通過可以容納多個數據庫連接的軟件,這樣做變得更加容易。
這就到了Navicat Premium的用武之地。它是一個數據庫開發、管理和管理工具,允許您同時連接到MySQL,MariaDB,MongoDB,SQL Server,Oracle,PostgreSQL和SQLite數據庫。Navicat還兼容大多數云數據庫,包括Amazon RDS,Amazon Aurora,Amazon Redshift,Microsoft Azure,Oracle Cloud,Google Cloud,阿里云,騰訊云,MongoDB Atlas和華為云。
在這篇文章中,我們將學習如何構建和執行SELECT查詢,該查詢將使用navicat Premium的SQL編輯器從多個數據庫中獲取數據。
建立環境
我們需要幾個表,每個表都在自己的數據庫中。碰巧的是,我們有一些Sakila示例數據庫的副本。已創建了actors表的副本并將其內容拆分為中間,因此以A到L開頭的名稱在第一個數據庫中,以M到Z開頭的名稱在另一個中。這將允許我們將兩組名稱組合成一個結果集。以下是Navicat對象窗格中的布局:
多數據庫SELECT語法
正如您可以在SELECT語句中將默認數據庫中的表引用為tbl_name一樣,您也可以在表名前加上數據庫名稱(例如db_name.tbl_name),以明確指定數據庫。數據庫前綴也可用于組合一個SELECT語句的表列表中的不同數據庫,如FROM關鍵字后面指定的那樣。因此,以下是有效的SQL:
SELECT database1.table1.field1, database2.table1.field1 FROM database1.table1, database.table1 WHERE database1.table1.age > 12;
使用表連接
您可以像往常一樣加入表格;只需確保通過預先添加數據庫名稱來完全限定表名:
SELECT * FROM database1.table1 T1 JOIN database2.table1 AS T2 ON T1.id = T2.id
如果您不需要在公共字段上加入表,則可以使用UNION運算符組合多個SELECT:
SELECT * FROM database1.table1 T1 WHERE T1.age > 12 UNION SELECT * FROM database2.table1 T2 WHERE T2.age > 12;
現在我們知道如何一次查詢兩個表,讓我們在actors表上嘗試類似的查詢。我們將選擇ID在特定范圍之間的actor:
SELECT T1.actor_id, T1.first_name, T1.last_name FROM sakila.`actor_a-l` T1 WHERE T1.actor_id BETWEEN 30 AND 50 UNION SELECT T2.actor_id, T2.first_name, T2.last_name FROM sakila2.`actor_m-z` T2 WHERE T2.actor_id BETWEEN 30 AND 50 ORDER BY last_name;
你可以得到存在于A - L表中的演員的結果,而有些演員來自M - Z表:
在這篇文章中,我們學習了如何構建和執行SELECT查詢,以使用Navicat Premium的SQL編輯器從多個數據庫中獲取數據。Navicat通過獲取關鍵字的建議并從編碼中刪除重復,幫助您快速編寫代碼完成和可自定義的代碼片段。
金喜正規買球相關的文章:
Navicat使用教程:使用MySQL 8中的觸發器驗證數據
想要購買Navicat Premium正版授權,或了解更多產品信息請點擊
掃描關注慧聚IT微信公眾號,及時獲取最新動態及最新資訊
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn