У пользователя first_name = ' Анна ' и last_name = ' Иванова ' (с лишними пробелами по краям). Что вернёт SELECT CONCAT(TRIM(first_name), ' ', TRIM(last_name))?

AРезультат будет 'Анна Иванова'CONCAT склеит строки, а TRIM уберёт лишние пробелы
BРезультат будет 'АннаИванова'CONCAT склеивает строки без разделителя между ними
CРезультат будет NULL, потому что CONCAT с пробелом внутри вызывает ошибку преобразования
DРезультат будет ' Анна Иванова 'TRIM не влияет на пробелы внутри строковых значений
Правильный ответ. TRIM убирает пробелы по краям строки, а CONCAT склеивает несколько строк в одну.

Разбор

TRIM(' Анна ') вернёт 'Анна' — пробелы слева и справа удалены. Аналогично TRIM(' Иванова ') вернёт 'Иванова'. Затем CONCAT склеит три части: 'Анна', ' ' (пробел-разделитель) и 'Иванова' — итог 'Анна Иванова'. Это стандартный паттерн для формирования полного имени из отдельных полей с очисткой.

Проверь себя · 1/3разбор после ответа
В запросе используется выражение: SELECT user_id, CASE WHEN age < 18 THEN 'подросток' WHEN age < 30 THEN 'молодой' WHEN age < 50 THEN 'средний' ELSE 'старший' END AS segment FROM users. Пользователю 25 лет — какое значение он получит и почему?
Тренировать SQL в Telegram

Ещё вопросы по теме «Основы SQL-запросов»