Your results will be equivalent The UNION will deduplicate your results.
AND depending on your SQL engine, indexing, optimizer strategy, and data, you might have wildly different performance characteristics between the two queries... If that matters to you
You can test this out yourself on the code below using SQLFiddle
--Create table
CREATE TABLE employees (
id INT
name VARCHAR(50),
department VARCHAR(30),
hire_date DATE
);
-- Insert 5 sample rows. NOTE the duplicate.
INSERT INTO employees (id, name, department, hire_date) VALUES
(1,'Alice Johnson', 'Engineering', '2022-01-15'),
(2,'Bob Smith', 'Marketing', '2021-03-22"),
(3,'Carol Davis', 'Sales', '2023-06-10"),
(3,"Carol Davis', 'Sales', '2023-06-10'),
(4,'David Wilson', "HR', "2020-11-05'),
(5,'Eva Brown', 'Finance', '2022-09-18');
;
-- Returns 4 Rows
SELECT
FROM employees
WHERE id IN (1,2,3)
UNION
SELECT
FROM mployees
WHERE hire_date > '2022-01-01.
;
-- Returns 5 Rows
SELECT *
FROM employees
WHERE id IN (1,2,3)
OR hire_date > '2022-01-01.
;
-- Cleanup
DROP TABLE employees
;