如何在 JOIN 中 return main table 的内容?
How to return content of main table in JOIN?
我有 table1
和 table2
我的目标是执行一个获取所有可用数据的查询(匹配代码),这实际上是我的查询:
SELECT * FROM table1
INNER JOIN table2
ON table1.code = table2.code
一切正常,但如果 table2
中不存在特定代码,则 table1
的数据不会被 return 编辑。一个例子:
表 1
|CODE|Info|
|R789|Home|
|R788|Away|
表 2
|CODE|DESCRIPTION|
|R789| Test
将 return 只有 R789
的内容,但我希望 R788
的内容也必须 returned,当然只有 table1
'因为 table2
中的记录不存在。我该怎么做?
使用 LEFT JOIN
,如果 "CODE" 存在于两个表中,这将 return 内容,并且表 1 中的项目和表 2 中的项目 NULL
s如果代码不存在。
有很多这方面的文档。这里是 one example and another one.
如果你想从两个表中获取所有数据,但如果对应则匹配,你应该使用全外连接:
select a.*,
b.*
from table1 a
full outer join
table2 b
on a.code=b.code
它将returns像这样:
|CODE|Info|CODE|DESCRIPTION|
|R789|Home|R789|Test|
|R788|Away|null|null|
此致
我有 table1
和 table2
我的目标是执行一个获取所有可用数据的查询(匹配代码),这实际上是我的查询:
SELECT * FROM table1
INNER JOIN table2
ON table1.code = table2.code
一切正常,但如果 table2
中不存在特定代码,则 table1
的数据不会被 return 编辑。一个例子:
表 1
|CODE|Info|
|R789|Home|
|R788|Away|
表 2
|CODE|DESCRIPTION|
|R789| Test
将 return 只有 R789
的内容,但我希望 R788
的内容也必须 returned,当然只有 table1
'因为 table2
中的记录不存在。我该怎么做?
使用 LEFT JOIN
,如果 "CODE" 存在于两个表中,这将 return 内容,并且表 1 中的项目和表 2 中的项目 NULL
s如果代码不存在。
有很多这方面的文档。这里是 one example and another one.
如果你想从两个表中获取所有数据,但如果对应则匹配,你应该使用全外连接:
select a.*,
b.*
from table1 a
full outer join
table2 b
on a.code=b.code
它将returns像这样:
|CODE|Info|CODE|DESCRIPTION|
|R789|Home|R789|Test|
|R788|Away|null|null|
此致