Александр Синицын
Дата: 16.01.2009 17:23:34
Как ни удивительно, но "SELECT count(*)" - вполне корректный запрос, который возвращает единицу. Единица возвращается потому, что содержимое скобок неявно преобразуется к типу по умолчанию, int, со значением пр умолчанию 0. Таким образом запрос эквивалентен SELECT count(0).
Не то чтобы это имело какое-то народно-хозяйственное значение, просто курьез.
Александр Синицын
Дата: 16.01.2009 18:08:19
На мой взгляд такой запрос должен приводить к ошибке. Здесь есть неоднозначность значения звездочки. Но реализовано именно таким образом.
Glory, такое объяснение логично.
В случае 'SELECT count(*) where 1=0' запрос не вычисляется, т.к. 'where 1=0' - конституента пустого множества, кардинальность которого известна.