How to create a data validation query?

The goal is to write a query that for each table will compare the content and return any rows that are missing in one of the compared tables.

The query combines FULL OUTER JOIN, time travel, and row ids generated for each column:

SELECT * FROM (
    SELECT
        TRIM(CONCAT_WS(', ', old.col1, old.col2, old.col3)) AS old_data_values,
        TRIM(CONCAT_WS(', ', new.col1, new.col2, new.col3)) AS new_data_values
    FROM table_1 VERSION AS OF 2 AS new
    FULL OUTER JOIN table_1 VERSION AS OF 1 AS old ON
    SHA1(TO_JSON(STRUCT(old.col1, old.col2, old.col3))) = SHA1(TO_JSON(STRUCT(new.col1, new.col2, new.col3)))
) s
WHERE s.old_data_values = '' OR s.new_data_values = ''

You can combine this query with the How to get columns of one or multiple tables? to create a dynamic data validation job.