Что значит “SELECT NULL”?

209
26 ноября 2016, 20:13

Что значит выражение MySQL SELECT NULL FROM table_name? Как я поняла, оно часто используется в сочетании с IF EXISTS или IF NOT EXISTS, например:

IF NOT EXISTS(SELECT NULL FROM table_name WHERE ...) 

Но для чего оно используется, в чём смысл этого выражения?

Answer 1

В данном случае просто определяется наличие или отсутстствие в таблице table_name записи удовлетворяющей условию WHERE. Т.е., если запись (записи) есть, то будет выбрана одна (или несколько) записей с одним полем значением NULL, если таких записей нет, то результат будет пустым.

Answer 2

Смысл select null - это вывод пустого столбца (ну мало ли, вам надо 13 столбцов выдать, а в таблице только 12 - вот чтобы не изобретать составное поле, на расчет которого сервер потратит время и ресурсы, добавляют в select еще null). В вашем примере это действительно проверка на наличие записей по условию в WHERE

READ ALSO
MySQL триггеры: Как узнать название таблицы и поля, которое обновили/удалили, за счет чего отработал триггер

MySQL триггеры: Как узнать название таблицы и поля, которое обновили/удалили, за счет чего отработал триггер

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

223
Могут ли поля разных таблиц иметь одинаковые названия в MySQL?

Могут ли поля разных таблиц иметь одинаковые названия в MySQL?

ЗдравствуйтеВопрос сформулирован в заголовке

249
Неправильно загружается mp3 файл php

Неправильно загружается mp3 файл php

Здравствуйте, пытаюсь сделать загрузку музыки на сервер, путём POST запроса

308
Избавиться от повторного вывода поля MySQL

Избавиться от повторного вывода поля MySQL

ЗдравствуйтеСоздал БД, создал запрос, все корректно за исключением вывода

217