Этот урок набрал набрал достаточно большое количество
комментариев и дальнейшее его комментирование отключено.
Если вы хотели убедиться в правильности выполнения ДЗ или у вас возник вопрос по уроку,
посмотрите ранее добавленные комментарии, кликнув по кнопке ниже. Скорее всего вы найдете там то, что искали.
Если это не помогло - задайте вопрос в чате в телеграме - https://t.me/php_zone
UPDATE users SET name="Ваня" WHERE name = "Иван";
DELETE FROM users WHERE email = "[email protected]";
SELECT * FROM users WHERE name LIKE "%т%" or name LIKE "%с%";
SELECT name FROM users GROUP BY name HAVING COUNT(name)=1;
UPDATE users SET name='Ваня' WHERE name='Иван';
DELETE FROM users WHERE name='[email protected]';
SELECT * FROM users WHERE name LIKE '%т%' OR name LIKE '%с%';
SELECT name FROM users GROUP BY name HAVING COUNT(name) = 1;
1) UPDATE users SET name = "Ваня" WHERE name = "Иван";
2) DELETE FROM users WHERE email = "[email protected]";
3) SELECT * FROM users WHERE name LIKE "%т%" OR name LIKE "%с%";
4) SELECT name FROM users GROUP BY name HAVING COUNT(name)=1;
UPDATE users SET name = "Ваня" WHERE name = "Иван";
DELETE FROM users WHERE email = "[email protected]";
SELECT * FROM users WHERE name LIKE "%т%" OR name LIKE "%с%";
SELECT name, COUNT(name) FROM users GROUP BY name HAVING COUNT(name)=1;
UPDATE users SET name = "Ваня" WHERE name = "Иван";
DELETE FROM users WHERE email = "[email protected]";
SELECT name FROM users WHERE name LIKE "%т%" or name LIKE "%с%";
SELECT name, COUNT(name) FROM users GROUP BY name HAVING COUNT(name)=1;
Добрый день, на самом деле сервер по умолчанию не позволяет такую вольность (и это наверно правильно):
SELECT id, email, name FROM users GROUP BY name;
на такой запрос появляется ошибка (реальный запрос SELECT marka, plate_nr FROM trucks GROUP BY marka; и ответ сервера):
ERROR 1055 (42000): Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'test.trucks.plate_nr' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
чтобы не было ошибки надо либо менять настройки сервера либо писать:
SELECT ANY_VALUE(id), ANY_VALUE(email), name FROM users GROUP BY name;
проверено на MySQL 8.0.20, Debian.
UPDATE users SET name='Ваня' WHERE name='Иван';
DELETE FROM users WHERE email='[email protected]';
SELECT * FROM users WHERE name LIKE "%т%" OR name LIKE "%с%";
SELECT name FROM users GROUP BY name HAVING COUNT(name)=1;
UPDATE users SET name="Ваня" WHERE name="Иван";
DELETE FROM users WHERE email="[email protected]";
SELECT * FROM users WHERE name LIKE "%т%" OR name LIKE "%с%";
SELECT name, COUNT(name) FROM users GROUP BY name HAVING COUNT(name)=1;
UPDATE users SET name = "Ваня" WHERE name = "Иван";
DELETE FROM users WHERE email = "[email protected]";
SELECT * FROM users WHERE name LIKE "%т%" OR name LIKE "%с%";
SELECT name, COUNT(name) FROM users GROUP BY name HAVING COUNT(name)=1;
UPDATE users SET name = "Ваня" WHERE name = "Иван"
DELETE FROM users WHERE email = "[email protected]"
SELECT * FROM users WHERE name LIKE "%т%" OR name LIKE "%с%"
SELECT name, COUNT(name)FROM users GROUP BY name HAVING COUNT(name) = 1
UPDATE users SET name = 'Ваня' WHERE name = 'Иван';
DELETE FROM users WHERE email = '[email protected]';
SELECT * FROM users WHERE (name LIKE '%т%') OR (name LIKE '%с%');
SELECT name FROM users GROUP BY name HAVING count(email) = 1;
update users
set name='Ваня'
where name='Иван';
delete from users
where email='[email protected]';
select * from users
where name Like '%т%' or name like '%с%';
select name from users group by name having count(name)=1;
update users set name = 'Ваня' where name = 'Иван';
delete from users where email = '[email protected]';
select * from users where name like '%т%' or name like '%с%';
select name from users group by name having count(name) = 1;
UPDATE users SET name = "Ваня" WHERE name = "Иван";
DELETE FROM users WHERE email="[email protected]";
SELECT * FROM users WHERE name LIKE "%т%" OR name LIKE "%с%";
SELECT name, COUNT(name) FROM users GROUP BY name HAVING COUNT(name)=1;
Задание 1: update users set name = "Ваня" where name = "Иван";
Задание 2: delete from users where email = "[email protected]";
Задание 3: select * from users where name like "%т%" or "%с%";
Задание 4: select name from users group by name having count(name) = 1;
Нужно оформить код в комментарии (в редакторе комментариев самая первая кнопка).
Нажмите на карандашик и поправьте ваш комментарий, пожалуйста. А потом ответьте мне на этот комментарий. После этого проверю вашу домашнюю работу и отвечу на вопросы.
1) UPDATE users SET name = "Ваня" WHERE name = "Иван";
2) DELETE FROM users WHERE email = "[email protected]";
3) SELECT * FROM users WHERE name LIKE "%т%" or name LIKE "%с%";
4) SELECT name FROM users GROUP BY name HAVING COUNT(name)=1;
1. UPDATE users SET name = "Ваня" WHERE name = "Иван";
2. DELETE FROM users WHERE email = "[email protected]";
3. SELECT * FROM users WHERE name LIKE "%т%" OR name LIKE "%с%";
4. SELECT name FROM users GROUP BY name HAVING COUNT(name) = 1;
UPDATE users SET name="Ваня" WHERE name = "Иван";
DELETE FROM users WHERE email = "[email protected]";
SELECT * FROM users WHERE name LIKE "%т%" or name LIKE "%с%";
SELECT name FROM users GROUP BY name HAVING COUNT(name)=1;
UPDATE users SET name = "Ваня" WHERE name = "Иван";
DELETE FROM users WHERE email = "[email protected]";
SELECT * FROM users WHERE name LIKE "%т%" OR name LIKE "%с%";
SELECT name, COUNT(name) FROM users GROUP BY name HAVING COUNT(name)=1;
У вас неточность в разделе «Соединение таблиц»:
У поля date указан тип данных DATE, но при этом ниже в это поле вставляются данные в формате DATETIME, TIMESTAMP.
P.S. Можно, чтоб вместо мейла ник отображался? А то ник поставил уже после публикации комментария.
Можно, зайдите в настройки профиля. Справа вверху в меню. Спасибо за замечание.
В пояснении к одному из запросов пропущена звездочка
У вас:
"Часть запроса users_data., product сообщает о необходимости..."
Как должно быть, если я все верно понял:
"Часть запроса users_data.*, product сообщает о необходимости..."
Спасибо, исправил)
Спасибо еще раз за курс!
Обратите внимание, в разделе Сортировка, для команды
приведен пример (картинка) для команды
который был указан выше.
Спасибо, убрал этот скрин)
Супер!
Делюсь аптечкой от ERROR 1055 при попытке группировки (у кого первоначально установлен sql_mode = only_full_group_by):
Мне помогло...
Отлично!
Задание №1:
Задание №2:
Задание №3:
Задание №4:
Отлично. Только в 4 задании нужно было вывести только имена.
Отлично
Отлично
Отлично
Добрый день, на самом деле сервер по умолчанию не позволяет такую вольность (и это наверно правильно):
SELECT id, email, name FROM users GROUP BY name;
на такой запрос появляется ошибка (реальный запрос SELECT marka, plate_nr FROM trucks GROUP BY marka; и ответ сервера):
ERROR 1055 (42000): Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'test.trucks.plate_nr' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
чтобы не было ошибки надо либо менять настройки сервера либо писать:
SELECT ANY_VALUE(id), ANY_VALUE(email), name FROM users GROUP BY name;
проверено на MySQL 8.0.20, Debian.
Всё верно, у меня sql_mode не содержит опцию only_full_group_by
Д/З
Отлично
Отлично
Первое задание
Второе задание
Третье задание
Четвертое задание
2 - в задании другое условие
4 - неверно
второе задание
четвертое я не понял почему не верное?
при запросе вывелись уникальные имена - https://prnt.sc/svswdg
А нужно те, которые встречаются только один раз
по сути в нашем случае это одно и тоже
С чего это? Запрос исключает Иванов
точно!
Отлично
Супер!
Напишите запрос, который удалит из базы пользователя с почтой [email protected]
Напишите запрос, который выведет все записи, у которых в имени есть хотя бы одна из букв: "т" или "с"
Нужно оформить код в комментарии (в редакторе комментариев самая первая кнопка).
Нажмите на карандашик и поправьте ваш комментарий, пожалуйста.
По заданию всё отлично, кроме первого
Исправил 1 -е.
1.
Комментарии можно редактировать (карандашик справа)
Отлично
А 4-ое задание?
А, всё ок)
Отлично
Отлично
Задание 1:
update users set name = "Ваня" where name = "Иван";
Задание 2:
delete from users where email = "[email protected]";
Задание 3:
select * from users where name like "%т%" or "%с%";
Задание 4:
select name from users group by name having count(name) = 1;
Нужно оформить код в комментарии (в редакторе комментариев самая первая кнопка).
Нажмите на карандашик и поправьте ваш комментарий, пожалуйста. А потом ответьте мне на этот комментарий. После этого проверю вашу домашнюю работу и отвечу на вопросы.
Сделал код в оформление кода)
Отлично
Отлично
Отлично!
Напишите запрос, который обновит у всех пользователей имя с "Иван" на "Ваня".
Напишите запрос, который удалит из базы пользователя с почтой "[email protected]"
Напишите запрос, который выведет все записи, у которых в имени есть хотя бы одна из букв: "т" или "с"
Выведите имена, встречающиеся в таблице только один раз.
Отлично
UPDATE users SET name="Ваня" WHERE name = "Иван";
DELETE FROM users WHERE email = "[email protected]";
SELECT * FROM users WHERE name LIKE "%т%" or name LIKE "%с%";
SELECT name FROM users GROUP BY name HAVING COUNT(name)=1;
Нужно оформить код в комментарии (в редакторе комментариев самая первая кнопка).
Нажмите на карандашик и поправьте ваш комментарий, пожалуйста.
Отлично
Наверное это не самый лучший пример.Может лучше так?:
Так тоже можно)