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

我可以临时写这样的查询:

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


我以为我需要接收要拆分的Id列表,但是如何编写WHERE子句?

最佳答案

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

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


这转化为您的尝试。从您的尝试来看,这可能是您理解的最简单的版本。虽然,将来我会建议使用JOIN

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


Joins - wikipedia
and also a visual representation of how different types of JOIN work

07-24 19:10
查看更多