• -- 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

    “Write the query the simplest way. If through testing it becomes clear that the performance is inadequate, consider alternative query forms.” - Gail Shaw

    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