LEFT JOIN or INNER JOIN to find items from one table that are in second table
我有一个关于加入的快速问题。
如果我想找出表1中有多少项在表2中使用,我会使用内部联接还是左联接(下面的SE)。
内部联接将显示两个表中的"id"在哪里,因此应表示表1中的id在表2中的使用时间,但随后列出所有表2,其中id与表1中的id相同(左联接)应返回相同的值?
但结果不同:
内部连接返回25222左连接返回258637
ps:Table2是Table1的子级,因此Table2 ID只能来自Table1(Table1是产品列表,Table2是所选产品列表),因此查找从Table1中选择的所有产品,以便在Table2(已选择)中选择。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
这将是正确的SQL,我猜是内部连接。
An INNER JOIN would show me where 'ID' is in both tables so should represent when ID from table1 is used in table2, but then listing all table2 where ID is the same as table1 ID (LEFT JOIN) should bring back the same?
号
在这种情况下,内部连接非常有意义,因为它将为表1和表2提供通用的记录。
table2 is a child of table1, so table2 IDs can only be from table1 (table1 a list of products, table2 a list of selected products) so looking for all products from table1 that are seleted so in table2 (been selected)
号
这要求您在表2中强制执行
对于左联接,如果结果不满足联接,则从表1和表2返回结果空值。在内部联接的情况下,只返回满足条件的结果。