假设我有两个表,表1和表2.表1与表2有一对多的关系。
如果表1是我的基表(SELECT something FROM table1
),并且内联接到表2,那么当从表2中选择任何字段时,将返回表2中的哪些值?
E.G。
Table1
Account ID | email
1 | abc@def.com
2 | cats@dogs.com
3 | ex@example.com
Table 2
Subscription ID | Account ID | Email | Created
100 | 1 | abc@def.com | 2014-01-01
102 | 2 | cats@dogs.com | 2014-02-02
103 | 1 | abc@def.com | 2014-03-03
因此,如果我根据订阅运行查询来选择帐户的创建日期,我可以运行SELECT min(Created)
来获取第一个帐户。
但是什么是默认行为?如果我的左表是表1加入表2的帐户ID,我选择创建的字段,将返回? 2014-01-01或2014-03-03?
答案 0 :(得分:6)
您将返回两个记录。当您JOIN
表时,您将获得符合JOIN
和WHERE
条款以及任何GROUP BY
/ HAVING
条款标准的所有记录。如果只需要返回一个,则必须编写代码以指定所需的代码。