SQL 子查询问题未产生任何错误和结果

SQL Subquery issue not yielding any error and result

我正在写一个简单的 select 子查询语句,它没有给出任何结果。它也没有抛出任何错误。 我的 Sql 查询是这样的 -

select * from Table1
where id in (select ID from Table2 where user = 'xyz')

我也尝试使用 exists,但没有显示任何结果。 感谢您的帮助。

下面的子查询returns可能是一个空列表,因为过滤条件where user = 'xyz'没有匹配到任何记录

select ID from Table2 where user = 'xyz'

下面的外部查询不符合条件where id in ()

select * from Table1 where id in ()

因此返回一个空结果集。

您可以将发布的查询转换为 INNER JOIN 查询,例如

select t1.* 
from Table1 t1 join Table2 t2 
on t1.id = t2.id
where t2.user = 'xyz';

作为测试,尝试使用 LIKE 运算符而不是相等比较

select * from Table1
where id in (select ID from Table2 where user like '%xyz%')