MySQL隐式地将两个表链接在一起

时间:2018-01-03 16:31:58

标签: mysql

假设我们有两个表

一个名为的表格,其中包含与银行帐户相关联的人余额

| id | name | account_id |
--------------------------
| 1  | bob  | 11         |
--------------------------
| 2  | sam  | 22

名为帐户的表格,其中包含银行帐户余额

| id | value |
--------------
| 11 | 200   |
--------------
| 22 | 500   |

为了链接两个表,你可以做

SELECT a.value as account_balance 
FROM people p 
WHERE p.name="bob" 
LEFT JOIN accounts a ON p.account_id = a.id`

这将返回

id => 1
name => bob
account_balance => 200

这很酷 - 但我想知道是否有更隐式的方法通过SQL链接(外键或其他方式)来做到这一点。我们可以在MySQL中以其他方式添加链接,这样当我们执行SELECT时,它已经知道返回而不是** account_id **?

我问这个是因为我正在创建一个系统,我的用户可以创建查找表并将它们链接到其他表 - 但它必须是可行的,无需任何编程。我能想到的另一种方法是将 account_id 的名称设置为 accounts.value ,并在执行SELECT时将其视为外键。

我必须获取列结构并进行分析,然后确定是否有外键,然后通过查看列名返回相应的外部列。

0 个答案:

没有答案