Monster beats 2000
Мудрец
(12255)
7 месяцев назад
Чтобы извлечь из таблицы users данные о пользователях, которые зарегистрировались в июле 2022 года и указали некорректную почту при регистрации, можно использовать следующий SQL-запрос:
```sql
SELECT first_name, email
FROM users
WHERE DATE_FORMAT(registration_date, '%Y-%m') = '2022-07'
AND email NOT LIKE '%@%.%';
```
Разберем запрос по частям:
1. `SELECT first_name, email` - указываем, какие поля мы хотим извлечь из таблицы (имя и электронную почту).
2. `FROM users` - указываем, из какой таблицы мы извлекаем данные.
3. `WHERE` - задаем условия фильтрации данных.
4. `DATE_FORMAT(registration_date, '%Y-%m') = '2022-07'` - первое условие: проверяем, что дата регистрации пользователя приходится на июль 2022 года. Функция `DATE_FORMAT` форматирует дату в нужном нам виде (год-месяц).
5. `AND email NOT LIKE '%@%.%'` - второе условие: проверяем, что электронная почта не соответствует шаблону корректной почты. Оператор `LIKE` используется для сравнения строк с шаблоном. Здесь мы проверяем, что email НЕ содержит (`NOT LIKE`) символ `@`, за которым следует как минимум один символ, затем точка, и снова как минимум один символ. Знак `%` обозначает любое количество любых символов.
Таким образом, запрос вернет имена и адреса электронной почты пользователей, которые зарегистрировались в июле 2022 года и указали некорректную почту (не содержащую `@` и `.` после него).
first_name — имя
email — электронная почта
Будем считать, что корректная почта должна содержать адрес, затем символ @, затем домен, затем точку, затем национальную зону. Например, my_adress@google.com .