假设我们有两个表
一个名为人的表格,其中包含与银行帐户相关联的人余额
| 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时将其视为外键。
我必须获取列结构并进行分析,然后确定是否有外键,然后通过查看列名返回相应的外部列。