My attempt at LEFT JOIN isn't producing desired result. Any ideas?
由于我过去几次成功做到这一点,我正遭受脑部死亡的严重困扰。
这一次,它不起作用。
我有2个表,tableA和tableB
TableA具有所有记录记录
TableB有一些,但不是全部。
它们之间的公用密钥是surmonId。
要求是在tableA和tableB之间存在匹配项的情况下显示来自tableB的监视符,但同时显示来自tableA的所有监视符。
换句话说,从tableB给我任何存在的记录以及tableA上的所有记录。
下面的lef join查询仅向我提供tableB中存在的记录。
1 | SELECT DISTINCT l.surmons FROM tableB b LEFT JOIN tableA a ON b.surmonId = a.surmonId. |
tableB上只有10条召唤物,这就是我所得到的全部。
我在哪里弄糟?
非常感谢
表的任一切换顺序:
1 2 3 4 | SELECT DISTINCT a.surmons FROM tableA a LEFT JOIN tableB b ON a.surmonId = b.surmonId |
或者使用我最喜欢的
1 2 3 4 | SELECT DISTINCT a.surmons FROM tableB b RIGHT JOIN tableA a ON b.surmonId = a.surmonId |
如果要从tableA获得所有内容,则需要从tableA到tableB进行左连接。
1 | SELECT DISTINCT a.surmons FROM tableA a LEFT JOIN tableB b ON a.surmonId = b.surmonId |