• <menu id="w2i4a"></menu>
  • logo Navicat使用教程-2019.1

    文檔首頁>>Navicat使用教程-2019.1>>Navicat使用教程:如何跨多個數(shù)據(jù)庫查詢

    Navicat使用教程:如何跨多個數(shù)據(jù)庫查詢


    Navicat Premium是一個可連接多種數(shù)據(jù)庫的管理工具,它可以讓你以單一程序同時連接到MySQL、Oracle及PostgreSQL數(shù)據(jù)庫,讓管理不同類型的數(shù)據(jù)庫更加的方便。

    點擊下載Navicat Premium免費版

    隨著Master-Slave拓?fù)浜蛿?shù)據(jù)庫分片等現(xiàn)代實踐的日益普及,數(shù)據(jù)庫管理員(DBA)和開發(fā)人員比以往任何時候都更多地使用多個數(shù)據(jù)庫。通過可以容納多個數(shù)據(jù)庫連接的軟件,這樣做變得更加容易。

    這就到了Navicat Premium的用武之地。它是一個數(shù)據(jù)庫開發(fā)、管理和管理工具,允許您同時連接到MySQL,MariaDB,MongoDB,SQL Server,Oracle,PostgreSQL和SQLite數(shù)據(jù)庫。Navicat還兼容大多數(shù)云數(shù)據(jù)庫,包括Amazon RDS,Amazon Aurora,Amazon Redshift,Microsoft Azure,Oracle Cloud,Google Cloud,阿里云,騰訊云,MongoDB Atlas和華為云。

    在這篇文章中,我們將學(xué)習(xí)如何構(gòu)建和執(zhí)行SELECT查詢,該查詢將使用navicat Premium的SQL編輯器從多個數(shù)據(jù)庫中獲取數(shù)據(jù)。

    建立環(huán)境

    我們需要幾個表,每個表都在自己的數(shù)據(jù)庫中。碰巧的是,我們有一些Sakila示例數(shù)據(jù)庫的副本。已創(chuàng)建了actors表的副本并將其內(nèi)容拆分為中間,因此以A到L開頭的名稱在第一個數(shù)據(jù)庫中,以M到Z開頭的名稱在另一個中。這將允許我們將兩組名稱組合成一個結(jié)果集。以下是Navicat對象窗格中的布局:

    11actor_tables.jpg

    多數(shù)據(jù)庫SELECT語法

    正如您可以在SELECT語句中將默認(rèn)數(shù)據(jù)庫中的表引用為tbl_name一樣,您也可以在表名前加上數(shù)據(jù)庫名稱(例如db_name.tbl_name),以明確指定數(shù)據(jù)庫。數(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;

    使用表連接

    您可以像往常一樣加入表格;只需確保通過預(yù)先添加數(shù)據(jù)庫名稱來完全限定表名:

    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;

    現(xiàn)在我們知道如何一次查詢兩個表,讓我們在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表中的演員的結(jié)果,而有些演員來自M - Z表:

    12union_query_results.jpg

    在這篇文章中,我們學(xué)習(xí)了如何構(gòu)建和執(zhí)行SELECT查詢,以使用Navicat Premium的SQL編輯器從多個數(shù)據(jù)庫中獲取數(shù)據(jù)。Navicat通過獲取關(guān)鍵字的建議并從編碼中刪除重復(fù),幫助您快速編寫代碼完成和可自定義的代碼片段。

    相關(guān)文章:

    Navicat使用教程:從單個應(yīng)用程序管理多個數(shù)據(jù)庫

    Navicat使用教程:從單個工具連接到多個數(shù)據(jù)庫

    Navicat使用教程:編寫包含SQL自連接的查詢

    Navicat使用教程:使用MySQL 8中的觸發(fā)器驗證數(shù)據(jù)


    想要購買Navicat Premium正版授權(quán),或了解更多產(chǎn)品信息請點擊“咨詢在線客服”

    掃描關(guān)注慧聚IT微信公眾號,及時獲取最新動態(tài)及最新資訊

    1563778777.jpg


    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();