使用所有表中存在的 id 来链接数据,从 3 个表中获取记录的最有效方法是什么?
第一个表:id 不是主键。许多记录具有相同的 id 值。该表的主键是“primary_id”
第二张表:id是主键
第三张表:id是主键
所以我们有一个从第一个表到“id”上的其他两个表的多对一关系。当然,第二到第三个表在“id”上具有一对一的关系,因为“id”是它们两个的主键。
我想从第一个表中选择 5 条记录(让我们说按第一个表primary_id asc 排序 -而不是跨表共享的id),但我也想要其他两个表中的记录。
我应该得到
table1.primary_id | table1.id | table1.some_data | table2.some_data | table3.some_data
--------------------------------------------------------------------------------------
1 | 22 | oranges | fruit seller | company
4 | 22 | watermelons | fruit seller | company
13 | 22 | bananas | fruit seller | company
15 | 22 | pears | fruit seller | company
19 | 22 | beans | fruit seller | company
如您所见,在table2中,id为主键,id=22有some_data=fruit Seller,而在id为主键的table3中,id=22有some_data=company
我应该使用什么来通过表 1 的 primary_id 获取前 5 条记录,并像我演示的那样从其他两个表中获取记录?
加入?子查询?我关心的是性能。