如何在where子句中为列添加多个条件?

时间:2013-05-29 19:58:21

标签: sql

我有五个结果要从表中检索,我想写一个将返回所有所需行的存储过程。

我可以暂时写下这样的查询:

Select * from Table where Id = 1 OR Id = 2 or Id = 3

我想我需要收到要分割的Id列表,但是如何编写WHERE条款?

2 个答案:

答案 0 :(得分:6)

因此,如果您只是尝试学习SQL,这是了解IN运算符的简短示例。以下查询与您的尝试结果相同。

SELECT * 
FROM TABLE 
WHERE ID IN (SELECT ID FROM TALBE2)

这转化为您的尝试。根据您的尝试判断,这可能是您理解的最简单的版本。虽然我将来会推荐使用JOIN

JOIN具有与上一代码相同的功能,但将是更好的选择。如果您想了解更多有关JOINs的信息,可以参考以下最重要来源的链接

答案 1 :(得分:4)

另一种方法。 inner join仅包含T1中的行,这些行与来自T2的行通过Id字段匹配。

select T1.* from T1 inner join T2 on T1.Id = T2.Id

在实践中,inner joins are usually preferable to subqueries出于性能原因。

相关问题