Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 连接多个返回n个结果的表_Mysql_Sql - Fatal编程技术网

Mysql 连接多个返回n个结果的表

Mysql 连接多个返回n个结果的表,mysql,sql,Mysql,Sql,我正在开发一个JSON api。我的目标是提高速度,并通过连接相关数据尽可能减少查询量 我会加入。但我有点困惑。如何连接返回n个记录的多个表?例如,假设我有以下表格: - Users - Addresses - Orders 我想在一个查询中从数据库中获取use 5及其地址和订单 加入用户和地址将返回用户拥有的所有地址。每个地址作为一行,包含用户列。但是,当您添加另一个也可以返回n个结果的表时,数据库如何返回该结果 我希望这不会太令人困惑。我努力用更好的词来表达它。如果您在a.UserID=B

我正在开发一个JSON api。我的目标是提高速度,并通过连接相关数据尽可能减少查询量

我会加入。但我有点困惑。如何连接返回n个记录的多个表?例如,假设我有以下表格:

- Users
- Addresses
- Orders
我想在一个查询中从数据库中获取use 5及其地址和订单

加入用户和地址将返回用户拥有的所有地址。每个地址作为一行,包含用户列。但是,当您添加另一个也可以返回n个结果的表时,数据库如何返回该结果


我希望这不会太令人困惑。我努力用更好的词来表达它。

如果您在a.UserID=B.UserID上从表a连接到表B,并且B.UserID不是唯一的,那么它返回的行数与B指示的行数相同,并且从a中选择的字段重复

举个例子,如果您这样做:

SELECT a.Name, B.Adress FROM users A INNER JOIN adresses B ON A.UserID = B.UserID
ADRESS包含ID为1的3行,我们称他为Max,那么输出为:

Max | 123 Fake St.
Max | 456 Real St.
Max | 789 Imaginary St.

如果添加第三个表,同样的情况也适用。对于表C中的每个匹配,表A和表B中的记录都将被复制。

一些示例代码,说明您尝试过的内容、获得的结果以及您期望的可能是好的。@kjtl对于当前的问题,这不是我真正关心的问题,我更关心数据库如何返回结果。因此,如果我加入了3,我想返回查询中的所有订单,我只是根据订单ID进行分组?分组是另一回事,默认情况下,您将获得与JOIN的on语句匹配的所有行。我认为这有点误解,很难在注释中给出上下文。我将提出另一个问题。