Mysql

從外鍵表中獲取數據

  • April 15, 2013

我有一個表,使用他們的表 id 將使用者與客戶聯繫起來

使用者客戶表

  ---------------------
  | userid | clientid |
  ---------------------
  | 2      | 32       |
  | 3      | 43       |
  | 2      | 24       |
  | 2      | 12       |
  ---------------------

userid 與我的使用者表中的 id 欄位相關 clientid 與我的客戶表中的 id 欄位相關

我已經把它們都連結好了。

我的問題是如何使用這個密鑰表來獲取詳細資訊。比如我是ID為2的使用者,簡單的查詢上面的UsersClients表,userid為2,我會簡單的得到如下結果32,24,12。

現在,為了從客戶端表中獲取每個返回結果的客戶端詳細資訊,我將使用類似的內容查詢客戶端數據庫

  SELECT * FROM Clients WHERE id IN(32,24,12);

但是由於我將上面的 UsersClients 錶鍊接到相關表,因此我可以更好地處理這個問題,所以我不必先為每個客戶端 ID 抓取 UsersClients 表,然後再抓取客戶端表以獲取相關詳細資訊。

一個簡單的 JOIN 查詢就可以了

SELECT B.* FROM UsersClients A
INNER JOIN Clients B ON A.clientid = B.id
WHERE A.userid = 2;

試一試 !!!

引用自:https://dba.stackexchange.com/questions/40031