我有五个结果要从表中检索,我想写一个将返回所有所需行的存储过程.
我可以暂时写下这样的查询:
Select * from Table where Id = 1 OR Id = 2 or Id = 3
Run Code Online (Sandbox Code Playgroud)
我想我需要收到Id要拆分的s 列表,但是我该怎么写这个WHERE条款?
所以,如果你只是想学习SQL,这是了解IN运营商的一个简短而好的例子.以下查询与您的尝试具有相同的结果.
SELECT *
FROM TABLE
WHERE ID IN (SELECT ID FROM TALBE2)
Run Code Online (Sandbox Code Playgroud)
这转化为你的尝试.根据您的尝试判断,这可能是您理解的最简单的版本.虽然,将来我会推荐使用JOIN.
A JOIN具有与前一代码相同的功能,但将是更好的选择.如果您想了解更多信息JOINs,请参阅最重要来源的一些链接