轉(zhuǎn)帖|使用教程|編輯:鮑佳佳|2020-08-25 09:47:04.810|閱讀 1224 次
概述:在今天的文章中,我們將學(xué)習(xí)如何構(gòu)建和運行 SELECT 查詢。該查詢將使用 Navicat Premium 的 SQL 編輯器從多個數(shù)據(jù)庫中獲取數(shù)據(jù)。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
如何跨多個數(shù)據(jù)庫查詢
隨著主從(Master-Slave)拓撲和數(shù)據(jù)庫分片等現(xiàn)代實踐變得越來越普遍,數(shù)據(jù)庫管理員(DBA)和開發(fā)人員比以往更頻繁同時訪問多個數(shù)據(jù)庫。通過使用可以容納多個數(shù)據(jù)庫連接的軟件,令這些工作變得更加容易。
Navicat Premium就是專為這工作而設(shè)。它是一套數(shù)據(jù)庫開發(fā)工具,讓你同時連接 MySQL、MariaDB、MongoDB、SQL Server、Oracle、PostgreSQL 和 SQLite 數(shù)據(jù)庫。它亦與 Amazon RDS、Amazon Aurora、Amazon Redshift、Microsoft Azure、Oracle Cloud、MongoDB Atlas、阿里云、騰訊云和華為云等云數(shù)據(jù)庫兼容。
在今天的文章中,我們將學(xué)習(xí)如何構(gòu)建和運行 SELECT 查詢。該查詢將使用 Navicat Premium 的 SQL 編輯器從多個數(shù)據(jù)庫中獲取數(shù)據(jù)。
設(shè)置環(huán)境我們需要幾個表,每個表都在自己的數(shù)據(jù)庫中。碰巧的是,我有一些 Sakila 示例數(shù)據(jù)庫的副本。我已創(chuàng)建了 actors 表的副本并將其內(nèi)容在中間拆分為兩組,以 A 到 L 開頭的名稱在第一個數(shù)據(jù)庫中,以 M 到 Z 開頭的名稱在另一個數(shù)據(jù)庫中。我們將會將兩組名稱組合成一個結(jié)果集。以下是 Navicat 對象窗格中的布局:
多個數(shù)據(jù)庫 SELECT 語法
正如你可以在 SELECT 語句中將默認數(shù)據(jù)庫中的表引用為 tbl_name 一樣,你也可以在表名前加上數(shù)據(jù)庫名用于顯式指定數(shù)據(jù)庫,例如:db_name.tbl_name。數(shù)據(jù)庫前綴也可用于在一個SELECT語句的表列表中組合不同數(shù)據(jù)庫,如 FROM 關(guān)鍵字后面指定的那樣。因此,以下是有效的SQL:
SELECT database1.table1.field1, database2.table1.field1 FROM database1.table1, database.table1 WHERE database1.table1.age > 12;使用 JOIN
你可以像往常一樣聯(lián)接(JOIN)表。只需通過在表前添加數(shù)據(jù)庫名稱來確保完全限定表名稱:
SELECT *
FROM database1.table1 T1
JOIN database2.table1 AS T2 ON T1.id = T2.id
如果您不需要用公共字段聯(lián)接(JOIN)表,則可以使用 UNION 運算符組合多個 SELECT 語句:
SELECT * FROM database1.table1 T1 WHERE T1.age > 12 UNION SELECT * FROM database2.table1 T2 WHERE T2.age > 12;
現(xiàn)在我們知道如何一次查詢兩個表,讓我們在 actors 表上嘗試類似的查詢。 我們將選擇(SELECT) ID 在特定范圍之間的演員:
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 表中的演員的結(jié)果,而有些演員是來自 M-Z 表:
總結(jié)
在本篇文章中,我們學(xué)習(xí)了如何使用 Navicat Premium 構(gòu)建和運行 SELECT 查詢,從多個數(shù)據(jù)庫中獲取數(shù)據(jù)。Navicat 的自動完成代碼和自定義的代碼段功能透過關(guān)鍵字建議和減少重復(fù)輸入相同的代碼,令編碼更加快速。你可以免費試用 14 天進行評估。慧都作為PremiumSoft授權(quán)合作商現(xiàn)Navicat Premium正版授權(quán)立減500,低至5004元!
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: