В базе данных SQL (реляционной) условия в предложении where
известны как «предикаты».
Это логические операторы, которые оцениваются для соответствующих таблиц и значений столбцов.
Таким образом, строка будет возвращена, если предикат value > 100
истинен, например, или утверждение value in (select number from other_table)
истинно.
Нередко можно увидеть запросы, содержащие такие предикаты, как * Включены 1010 * или 1 = 1
, которые в основном совпадают с тем, что вы видите, - это предикты false
или true
.
Подобный предикат является константой независимо от значений строки Конечно, и умный оптимизатор запросов заметит, что и для false
будет сокращать оптимизацию, чтобы не возвращать строки.
Этот синтаксис, вероятно, не будет работать во всех СУБД, но ActiveRecord может генерировать разные код для другой базы данных.