-- Method 1
DROP TABLE #InList
CREATE TABLE #InList (RowID INT IDENTITY(1,1) NOT NULL, JoinValue INT)
INSERT INTO #InList (JoinValue)
SELECT 5 UNION ALL
SELECT 1 UNION ALL
SELECT 3 UNION ALL
SELECT 8 UNION ALL
SELECT 2
-- NOTE - the sequence will fail if UNION is used instead of UNION ALL
-- because UNION eliminates dupes; the processing reorders the input set.
SELECT col_1,col_2
FROM table_1 t
INNER JOIN #InList i
ON i.JoinValue = t.col_1
ORDER BY i.RowID
-- Method 2
SELECT col_1,col_2
FROM table_1
WHERE col_1 IN (5,1,3,8,2)
ORDER BY CASE col_1
WHEN 5 THEN 1
WHEN 1 THEN 2
WHEN 3 THEN 3
WHEN 8 THEN 4
WHEN 2 THEN 5 END
For fast, accurate and documented assistance in answering your questions, please read this article.
Understanding and using APPLY, (I) and (II) Paul White
Hidden RBAR: Triangular Joins / The "Numbers" or "Tally" Table: What it is and how it replaces a loop Jeff Moden