小编Cap*_*nch的帖子

从表创建嵌套数组的最佳方法:多个查询/循环VS单个查询/循环样式

假设我有2个表,我可以"合并"并表示在一个嵌套数组中.

考虑到:我正在徘徊这是最好的方法.

  • 效率
  • 最佳实践
  • 数据库/服务器端使用权衡
  • 你应该在现实生活中做些什么
  • 3个,4个或更多表的相同情况,可以这样"合并"

问题是关于任何服务器端/关系数据库.

我想到的两种简单方法(如果你有其他人,请建议!注意我要求一个简单的SERVER-SIDE和RELATIONAL-DB,所以请不要浪费你的时间来解释为什么我不应该使用这种DB,使用MVC设计等等......):

  1. 2个循环,5个简单的"SELECT"查询
  2. 1个循环,1个"JOIN"查询

我试图给出一个简单而详细的例子,以便解释自己并更好地理解你的答案(虽然如何编写代码和/或发现可能的错误不是问题,所以尽量不要关注那个...... .)

用于创建数据并将数据插入表格的SQL脚本

CREATE TABLE persons
(
    id int NOT NULL AUTO_INCREMENT,
    fullName varchar(255),
    PRIMARY KEY (id)
);

INSERT INTO persons (fullName) VALUES ('Alice'), ('Bob'), ('Carl'), ('Dan');

CREATE TABLE phoneNumbers
(
    id int NOT NULL AUTO_INCREMENT,
    personId int,
    phoneNumber varchar(255),
    PRIMARY KEY (id)
);

INSERT INTO phoneNumbers (personId, phoneNumber) VALUES ( 1, '123-456'), ( 1, '234-567'), (1, '345-678'), (2, '456-789'), (2, '567-890'), (3, '678-901'), (4, '789-012');  
Run Code Online (Sandbox Code Playgroud)

在我"合并"之后表格的JSON表示: …

php mysql sql server-side relational-database

6
推荐指数
1
解决办法
4307
查看次数

标签 统计

mysql ×1

php ×1

relational-database ×1

server-side ×1

sql ×1