gpt4 book ai didi

mysql - 如何构造sql语句以仅当两个表的JOIN中的内容可用时才进行选择

转载 作者:行者123 更新时间:2023-11-29 12:05:06 25 4
gpt4 key购买 nike

我有两个这样的表。

t1                                 
id name
1 foo
2 bar

t2
tid id address
1 1 foss

我可以执行 select 语句从两个表的 t1 中选择 id 1。

select * from t1 inner join t2 on (t1.id = 1 and t2.id = 1)

但是,我真正想要的是从 t1 中选择 bar,并且仅选择 bar,即使它不存在于 t2 中。

上面的表与我一直在处理我的项目的表类似,并且类似于相同的问题。

这是我尝试过的。

1. I used left join t1.id = 2 and t2.id = 2 

它列出了 t1 中的所有值,我只想要 t1.id = 2。

2.inner join could be used, but since t2.id = 2 is not present.

因此,它不会返回任何内容。

但是我想要一些东西,如果 id 存在于两个表中,则显示 t1 和 t2 中的数据,如果不存在,则仅显示该 id 的表 t1 中的数据。

所以,如果我想显示 t1.id = 2,我期望的答案是使用

select * from t1 join .....

id name tid id address
2 bar null null null

最佳答案

根据您的预期结果,这是一个简单的左连接:

select * 
from t1 left join t2
on t1.id = t2.id
where t1.id = 2

关于mysql - 如何构造sql语句以仅当两个表的JOIN中的内容可用时才进行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31636581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com