3 мая 2013 г.

Как всегда возвращать непустую таблицу

Очень часто бывает нужно получить какое-нибудь поле записи из таблицы. Предположим, мы хотим получить имя пользователя по его ID:

SELECT UserName FROM UserDataBase WHERE UserID = 10

Этот простейший запрос вернет нам таблицу с одной записью, которая будет содержать имя указанного пользователя. Но что он вернет, если пользователя с таким ID не существует? Пустую таблицу.

С этим могут возникнуть проблемы, если дальнейшая обработка требует непустой таблицы. Простейший способ заставить SQL всегда возвращать одну запись в таблице — использование встроенных функций, например, MIN() или MAX().

SELECT MAX(UserName) FROM UserDataBase WHERE UserID = 10

Такой запрос вернет то же, что и предыдущий, если найдет пользователя с указанным ID. Если же такого пользователя в базе не окажется, таблица будет содержать единственную запись со значением NULL.

Комментариев нет:

Отправить комментарий