Задачи с собеседования по SQL про псевдостолбцы
Здравствуйте, друзья!
Готовы порешать SQL-задачи на тему псевдостолбцов? Что такое псевдостолбцы и примеры их использования можно почитать тут.
Эти и другие задачи с собеседования опубликованы в нашем Телеграм-канале.
Итак, задача номер 1:
В таблице TEMP_TABLE один столбец и пять строк.
Запрос SELECT 1 FROM TEMP_TABLE
а) выведет данные из первого столбца для всех строк;
б) выведет просто цифру 1;
в) выведет пять строк, в каждой из которых будет цифра 1;
г) выдаст ошибку.
Здесь нужно поставить чтение на паузу и выбрать правильный вариант ответа.
На сегодня разброс ответов на задачу такой (правильный ответ в зелёном цвете):
Объяснение: данный в задаче запрос выводит данные из таблицы TEMP_TABLE (так как SELECT..FROM TEMP_TABLE), поэтому будут выводиться строки из неё (все сколько есть). Но в блоке SELECT не указан ни один из (настоящих) столбцов таблицы. Не выбираются данные из какого-либо столбца.
В нашем примере указано что пока выводятся строки из таблицы TEMP_TABLE нужно выводить цифру 1, а не показывать данные какого-либо столбца.
Задача 2:
Дана следующая таблица TEST_TABLE с тремя строками:
SELECT * FROM TEST_TABLE
ID NAME
1 NULL
2 NULL
3 NULL
Каков будет результат следующего запроса: SELECT SUM(1) FROM TEST_TABLE?
Здесь опять нужно поставить чтение на паузу и написать правильный вариант ответа. На сегодня разброс ответов на задачу такой (правильный ответ в зелёном цвете):
Объяснение: здесь тоже речь идёт о псевдостолбце. Пока выводятся данные из TEST_TABLE блок SELECT выводит единицу, а не какой-либо реальный столбец таблицы. Пока не смотрите на функцию SUM. Итого единица выведется три раза (по количеству строк в таблице). И вот теперь, с помощью функции SUM получим сумму всех введённых чисел (единичек), то есть число 3.
Ещё больше SQL-задач с собеседований и реальной практики в разных СУБД в нашем Телеграм-канале.
Заходи на наш Youtube-канал и найдёшь много интересного и полезного про базы данных и язык SQL.