0

从以下方式设置的两个表中获取数据的最有效方法是什么:

表格1:

ID(PK)  |  Name  |  Age
--------------------------
 1      |  Jim   |  44
 2      |  Jane  |  35
 3      |  John  |  22

表 2

Name(PK)  |  Pet(PK)
-----------------
Jim       |  Cat
Jim       |  Dog
Jane      |  Fish

表 2 中的 FK 对“名称”有一个约束

结果

我想要特定人的年龄和所有宠物。

Name  |  Age  |  Pet
---------------------
Jim   |  44   |  Cat
Jim   |  44   |  Dog

在我看来,这些是我的选择:

1)在 Name 上左连接表 2,并在我的 Name 和 Age 的结果数组中得到冗余数据(如上)。

2)使用将宠物变成逗号分隔列表的功能。

3)使用2个单独的选择。

我的问题与上述 3 个选项的性能有关。我不需要 SQL(特别是,除非您想建议另一种方法)。

谢谢!

4

1 回答 1

-1
  select 
  tb01.name, tb01.age, tb02.pet
  from 
  table01 tb01
  left join table02 tb02 on tb02.name = tb01.name
于 2016-03-16T12:14:31.497 回答