我有五个结果从表中检索,我想写一个存储过程,将返回所有需要的行。如何在where子句中为列添加多个条件?
我可以编写查询这样的暂时:
Select * from Table where Id = 1 OR Id = 2 or Id = 3
我认为我需要得到的Id
s到分割清单,但我怎么写WHERE
条款?
我有五个结果从表中检索,我想写一个存储过程,将返回所有需要的行。如何在where子句中为列添加多个条件?
我可以编写查询这样的暂时:
Select * from Table where Id = 1 OR Id = 2 or Id = 3
我认为我需要得到的Id
s到分割清单,但我怎么写WHERE
条款?
所以,如果你只是想学习SQL,这是一个很好的例子,以了解IN
运算符。以下查询与您的尝试结果相同。
SELECT *
FROM TABLE
WHERE ID IN (SELECT ID FROM TALBE2)
这意味着什么是你的尝试。从你的尝试来看,这可能是你理解的最简单的版本。虽然,在未来我会推荐使用JOIN
。
A JOIN
与前面的代码具有相同的功能,但将是一个更好的选择。如果你是好奇阅读更多有关JOINs
,这里是从最重要的来源
另一种方式来做到这几个环节。 inner join
将仅包含来自T1的行,与来自T2的行通过Id
字段匹配。
select T1.* from T1 inner join T2 on T1.Id = T2.Id
加入默认情况下比嵌套选择更好。 – djechlin
'where id in(...)'? –