In a large query, I have
INNER JOIN file
ON ( file.file_id = temp_student_table.converted_file
OR file.file_id = temp_student_table.uploaded_file)
If file.file_id = temp_student_table.converted_file
is a match, does MySQL check for the second statement? what happens if both of them return a match? Does it only consider the first statement?
In an OR
condition, it will just evaluate the first condition and exit if it is already true.
OR operator has this behaviour:
A | B | A OR B
0 0 0
0 1 1 0 = False
1 0 1 1 = True
1 1 1
This means the A OR B
is true unless A and B are false. For this, A OR B
will evaluate the minimum necessary: if A
is already true, there is no point in continuing to evaluate the condition.