假设我有两个表,表1和表2.表1与表2有一对多的关系.
如果表1是我的基表(SELECT something FROM table1)与表2的内连接,那么当从表2中选择任何字段时,将返回表2中的哪些值?
例如
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
Run Code Online (Sandbox Code Playgroud)
因此,如果我运行查询以根据订阅选择帐户的创建日期,我可以运行SELECT min(Created)以获取第一个.
但是什么是默认行为?如果我的左表是表1加入表2的帐户ID,我选择创建的字段,将返回?2014-01-01或2014-03-03?
你会返回两个记录.当您JOIN表时,您将获得满足条件JOIN和WHERE条款以及任何GROUP BY/ HAVING子句的所有记录.如果只需要返回一个,则必须编写代码以指定所需的代码.