В примере ниже ошибка, VALUES должно стоять после (`name`, `old_salary`), если не прав поправьте меня INSERT INTO `old_workers` VALUES (`name`, `old_salary`) SELECT `workers`.`name`, `workers`.`salary` FROM `workers` WHERE `workers`.`id` IN (1,2,3)
SUBQUERY только путает новичков, сложно будет переключить мозги с логики JOIN на SUBQUERY. SUBQUERY в первую очередь признан облегчить задачу там, где она сложна с JOIN. Понять это можно, только получив опыт в долгосрочной практике. Для новичка лучше использовать только тип SCALAR
Всё верно, но не ознакомить новичка с такой возможностью тоже нельзя, поэтому мы о них и рассказали. И иногда кроме как подзапросом задачу не решить совсем.
Здесь использование двух таблиц, а это требует указать, как связать одну таблицу с другой, иначе декартово произведение получите. Это строка и есть условие связывания двух таблиц - workers и departmens
чтобы выбрать всех сотрудников с макc зарплатой, не проще было бы сделать так ? может так даже быстрее будет работать... SELECT * FROM workers WHERE department_id = ( SELECT department_id FROM workers order by salary desc limit 1 )
Подскажите, пожалуйста, почему не работает Нужно проставить к какому поколению принадлежат люди. UPDATE `basic_inf` SET `generation`= 'Y' WHERE `generation`IN (SELECT `generation` FROM basic_inf WHERE `generation`= NULL AND birth > 1982-01-01 AND birth < 1999-12-31); Вместо IN так же пробовала = Заранее спасибо
представляю, как после вопроса лектора: "понятно, да?" в аудитории сидит толпа мемных обезьянок, хлопающих в тарелки если задача была "пробежаться" по подзапросам, то вы скорее пролетели мимо
Понятно да, и идем дальше, для кого урок, если для новичков, то знай так объяснять не стоит, хоть чуть чуть надо объяснять, а не бежать просто по подзапросам
Да там надо наверное, всю структуру таблиц смотреть, как они взаимосвязаны. А так - да, ни черта не понятно. Главное для меня - увидеть какие подзапросы можно делать :)
@@ИлларионИванов-л1е это вы точно заметили, в презентации юзеры быстро стали работниками.. мне больше нравится когда пишут и сразу объясняют, а так он сам в теме, а остальные должны додумывать
Это ехидное выражение лица, когда лектор задает вопрос, греет душу как нично иное ))
А то)
Великолепный урок! Спасибо за материал!
Спасибо! Мы старались :)
пожалуй стоит пересмотреть несколько раз
В примере ниже ошибка, VALUES должно стоять после (`name`, `old_salary`), если не прав поправьте меня
INSERT INTO `old_workers`
VALUES (`name`, `old_salary`)
SELECT
`workers`.`name`,
`workers`.`salary`
FROM `workers`
WHERE `workers`.`id` IN (1,2,3)
Очень добротный курс, спасибо
Спасибо, мы старались :)
SUBQUERY только путает новичков, сложно будет переключить мозги с логики JOIN на SUBQUERY. SUBQUERY в первую очередь признан облегчить задачу там, где она сложна с JOIN. Понять это можно, только получив опыт в долгосрочной практике. Для новичка лучше использовать только тип SCALAR
Всё верно, но не ознакомить новичка с такой возможностью тоже нельзя, поэтому мы о них и рассказали. И иногда кроме как подзапросом задачу не решить совсем.
Спасибо! Если вот такого не хватает в разных курсах. Было бы круто - чуть больше примеров
Спасибо, мы старались! Вместо примеров упор делали на практику)
Майка огонь!
Всем рок!
Не поняла почему в коррелированном подзапросе после Where идёт workers ,department id = departments , id. Зачем эта строчка, подскажите, пожалуйста
Чтобы строчки не повторялись (чтобы уникальными были)
Здесь использование двух таблиц, а это требует указать, как связать одну таблицу с другой, иначе декартово произведение получите. Это строка и есть условие связывания двух таблиц - workers и departmens
@@mr.banner4231 спасибо
@@ЯщикПочтовый-ш4х спасибо
чтобы выбрать всех сотрудников с макc зарплатой, не проще было бы сделать так ?
может так даже быстрее будет работать...
SELECT * FROM workers WHERE department_id = (
SELECT department_id FROM workers order by salary desc limit 1
)
Так пример был явно надуманный. В видео было сказано что решить можно было гораздо проще. Ваш пример точно будет производительнее.
Под какую СУБД здесь пишут запросы?
Хм, но в заголовке ведь указано...
Таблица users а выбирают из workers. Нормальное начало))
Подскажите, пожалуйста, почему не работает
Нужно проставить к какому поколению принадлежат люди.
UPDATE `basic_inf` SET `generation`= 'Y'
WHERE `generation`IN
(SELECT `generation`
FROM basic_inf
WHERE `generation`= NULL AND birth > 1982-01-01 AND birth < 1999-12-31);
Вместо IN так же пробовала =
Заранее спасибо
Может быть потому что вместо "...WHERE `generation`= NULL..." нужно поставить "...WHERE `generation` IS NULL..." ?
скиньте или прикрепите к видео тестовую базу плиз
эвона как
А то!
хотела спросить почему слева вверху экрана кружка пива?@@Rclass
@@raduwka вы думаете что разработчики никак не связаны с пивом? :)
представляю, как после вопроса лектора: "понятно, да?" в аудитории сидит толпа мемных обезьянок, хлопающих в тарелки
если задача была "пробежаться" по подзапросам, то вы скорее пролетели мимо
Я так понимаю это все для профи
Ну почему же, регулярно бывают нужны подзапросы)
топ
Спасибо :)
Чибр!!
Понятно да, и идем дальше, для кого урок, если для новичков, то знай так объяснять не стоит, хоть чуть чуть надо объяснять, а не бежать просто по подзапросам
Задача: ознакомить с такой возможностью, нет задачи досконально объяснить.
откуда взялись workers? вы или по-русски или английски, а то для новичков запутаться можно
Да там надо наверное, всю структуру таблиц смотреть, как они взаимосвязаны. А так - да, ни черта не понятно. Главное для меня - увидеть какие подзапросы можно делать :)
@@ИлларионИванов-л1е это вы точно заметили, в презентации юзеры быстро стали работниками..
мне больше нравится когда пишут и сразу объясняют, а так он сам в теме, а остальные должны додумывать
вонна,мен, вонна
понятно да? Вообще то НИ КУ Я не понятно!
А мы так старались :(
Чтобы понять надо обязательно экспериментировать. Пробовать. Понять зависимости и т.д. Я сам ни куя не понимаю часто :)
Рекомендую почитать книгу Бена Форта " SQL за 10 минут". После этой книги этот урок воспринимается как для малышей