Just for additional information purpose to @Shadow 's answer:
SET SESSION MAX_EXECUTION_TIME = 5000; -- 5 s
SELECT SLEEP(1); -- return 0
SELECT SLEEP(10); -- return 1
I then tested what will happen if it's actual data from here:
SET SESSION MAX_EXECUTION_TIME = 1; -- 1ms
SELECT SQL_NO_CACHE *
FROM STUDY_SQL.EMPLOYEES AS FIR
LEFT JOIN STUDY_SQL.EMPLOYEES AS SEC
ON FIR.BIRTH_DATE <> SEC.BIRTH_DATE
WHERE
(FIR.LAST_NAME LIKE 't%o%' OR FIR.LAST_NAME LIKE 'b%i%')
AND FIR.FIRST_NAME LIKE '%e%'
AND (SEC.LAST_NAME LIKE 't%o%' OR SEC.LAST_NAME LIKE 'b%i%')
AND SEC.FIRST_NAME LIKE '%e%'
AND SEC.FIRST_NAME LIKE '%b%';
The result is:
15:54:46 SET SESSION MAX_EXECUTION_TIME = 1 0 row(s) affected 0.000 sec
15:54:46 [complex query] LIMIT 0, 1000 Error Code: 3024. Query execution was interrupted, maximum statement execution time exceeded 0.000 sec
So it will throw an exception if it's an actual query and it exceeds the time limit.