簡體   English   中英

在多個數據庫上運行單個查詢

[英]run a single query on multiple databases

1)我有一個表employee(emp_id,emp_name,emp_salary); 我想找到薪水最高的前2名員工而沒有使用限制

2)我如何運行查詢,以便它從兩個數據庫mysql服務器上的數據庫中獲取記錄,這應該在單個mysql查詢中完成

在此先感謝您的幫助或答復

一個查詢不能一次與兩個數據庫服務器對話。 只是不允許。 但是您可以使用FEDERATED表鏈接兩個服務器。 這使“遠程”表看起來像是真正存儲在本地。

但是,除非仍然可以以某種方式聯接兩個表,否則您仍然必須使用聯合查詢。

SELECT blah,blah,blah
FROM localtable

UNION

SELECT blah,blah,blah
FROM federatedtable

那么LIMIT到底有什么問題呢?

select * 
  from (select * 
          from db1.employee
         order by salary desc limit 2 
        union 
        select * 
          from db2.employee
         order by salary desc limit 2
) emp
order by emp.salary desc limit 2

如果bd1和db2中的員工肯定不同,或者您不想刪除重復項,請更改為UNION ALL

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM