2014-10-30 4 views
-1

В большом запросе, у меня естьMysql - заказ «ИЛИ» оператор

INNER JOIN file 
ON (file.file_id = temp_student_table.converted_file 
    OR file.file_id = temp_student_table.uploaded_file) 

Если file.file_id = temp_student_table.converted_file совпадение, делает проверку MySQL для второго утверждения? что произойдет, если оба из них вернут матч? Рассматривает ли это только первое утверждение?

+0

Нет. Если это 'OR' и первые совпадения, второе не должно совпадать. – fedorqui

+0

@fedorqui Итак, если оба они совпадают, он учитывает только первый. Правильно? –

+1

Почему бы не проверить его и выяснить? Я не могу больше минуты. – jpw

ответ

0

В OR состоянии, он будет просто оцените первое условие и выйдите, если оно уже верно.

ИЛИ оператор имеет такое поведение:

A | B | A OR B 
0 0  0 
0 1  1   0 = False 
1 0  1   1 = True 
1 1  1 

Это означает, что A OR B верно, если А и В не являются ложными. Для этого A OR B будет оценивать минимальное значение: если A уже верно, нет смысла продолжать оценивать условие.

0

Поскольку вы используете OR оператора здесь он проверяет первый condition.If первое утверждение согласованного тогда proceeds.The второго не нужно быть согласован в Condtion

0

В Mysql, ИЛИ возвратит TRUE:

  • , если первый операнд верно, то в этом случае второй операнд не будет испытан
  • , если первый операнд является ложным, а второй является true
Смежные вопросы