Доступно и информативно изложен материал! У Вас самые лучшие уроки!
@PrimeSoft2 жыл бұрын
Здравствуйте, Екатерина! Спасибо Вам большое за внимание и комментарий!
@superqwertyah29962 ай бұрын
Очень просто объяснили, 1000 лайков Вам! Наконец понятно, зачем нужна конструкция With
@МихаилСемерухин2 жыл бұрын
Спасибо, крутейшее видео!!!!!! Читал несколько статей на тему использования 'WITH', смотрел несколько видео - ничего не понял)) А у Вас с первого раза всё понял! Нашел задачку на использование 'WITH' и используя знания полученные в этом видео решил её самостоятельно решил за 5 минут😀
@PrimeSoft2 жыл бұрын
Здравствуйте, Михаил, спасибо Вам большое за такой мощный комментарий! Очень приятно! Буду стараться ещё:)
@vadimkorontsevich10662 жыл бұрын
Если нужно узнать как работает WITH, смотрите сразу с 9:20
@rudinandrey Жыл бұрын
было мегапонятно!! спасибо большое, пришел сюда из документации Postgresql ) где ничего не понял. Спасибо что Вы есть.
@nataliaistomina24542 жыл бұрын
омг, ты, меня спас)! отличный гайд.
@PrimeSoft2 жыл бұрын
Спасибо! Очень приятно слышать!
@chupachups65462 жыл бұрын
Илья как всегда - на высшем уровне👍 Не описать чувство благодарности Вам!
@irinasayma90132 жыл бұрын
Ну наконец-то я поняла про with. У вас самое понятное объяснение
@kira31962 ай бұрын
Спасибо большое за видео❤
@Maxvell9094 ай бұрын
Круто и понятно! 👌🏻👍
@bauyrzhannurimbetov6330 Жыл бұрын
Илья спасибо за урок. Все просто и наглядно объяснили!
@vaniL_572 жыл бұрын
Илья, спасибо, хорошее объяснение
@ВикторСтепанов-ы8в2 жыл бұрын
Спасибо большое, все очень понятно изложено доступным языком!!!
@AleksanderKorablev Жыл бұрын
Отличные туториалы, все понятно и наглядно показано
@PrimeSoft Жыл бұрын
Спасибо Вам! Очень приятно!
@БауыржанУалханов2 жыл бұрын
Все отлично понятно. Хотя я это уже знал, но было приятно посмотреть. 👍
@justice31712 жыл бұрын
Спасибо за информативно видео
@PrimeSoft2 жыл бұрын
Спасибо Вам, что нашли время для отзыва!
@_vukivur2164 Жыл бұрын
Все понятно! Суппер, спасибо, Илья)
@КОЛЯСАХНЕВИЧ-к6ц2 жыл бұрын
Отличный урок, Илья! Всё понятно. Большое спасибо!
@tz3892 жыл бұрын
Как всегда лайк, очень доступно объясняете. Спасибо.
@eb60062 жыл бұрын
Спасибо! Много нового узнал! Объяснено очень доходчиво
@АлександрПатрушев-е5х Жыл бұрын
классно рассказал, подробно и понятно, спасибо большое
@Sannikov.a.a2 жыл бұрын
Как всегда, хорошая и уверенная подача материала Спасибо за ваши уроки :)
@PrimeSoft2 жыл бұрын
Спасибо Вам, Артём!
@モリトモリ Жыл бұрын
спасибо большое! теперь мне стало все предельно понятно)
@александрСобко-ф5э2 жыл бұрын
Спасибо, WITH полезный прием) Скоро придем к вам на курс
@konstantin38262 жыл бұрын
Спасибо за еще один хороший урок!
@PrimeSoft2 жыл бұрын
Здравствуйте, Константин! Спасибо Вам большое за внимание! Спасибо, что нашли время написать комментарий. Очень приятно!
@andrei1996 Жыл бұрын
Спасибо, объяснено все доходчиво
@ВикторПистолет2 жыл бұрын
молодец , давай еще видео по sql . жду с нетерпением
@igorlabusov5772 жыл бұрын
как всегда СУПЕР))
@PrimeSoft2 жыл бұрын
Здравствуйте, Игорь! Большое спасибо Вам за внимание!
@mrsarlberg7285 Жыл бұрын
спасибо! доходчиво объяснили👍
@c3akidonamy-pubg11 ай бұрын
Ели нашёл достаточно информации на русском, надеюсь в sqlite работает аналогично, побежал тестить!) спасибо
@НиязСахтаев-ъ3в Жыл бұрын
Полезно, спасибо !
@FX42RIGDEN2 ай бұрын
Все очень понятно, чтобы все так объясняли xD
@максимсахновский-ш5у2 жыл бұрын
Хороший лектор - рекомендую.
@ОлегТумаков-щ1ц2 жыл бұрын
Спасибо!
@АлександрБаранов-е8щ Жыл бұрын
спасибо за видео!
@PrimeSoft Жыл бұрын
Спасибо за внимание! :)
@STEPanovMaksim Жыл бұрын
Спасибо! :)
@rayman4x42 жыл бұрын
В данном случае t - это обычный подзапрос. Подозреваю, что WITH используется в более сложных запросах, где такой подзапрос выполняется многократно. И придумано это было для повышения производительности таких запросов. Подзапрос с WITH вычисляется только один раз, кэшируется, и большой запрос выполняется быстрее. Потому что не приходится получать результирующую выборку подзапроса каждый раз при обращении к ней.
@akss9245 Жыл бұрын
Значит при обновлении основной таблицы t не перевычисляется? В t будут старые данные?
@rayman4x4 Жыл бұрын
@@akss9245 зависит от БД. В Оракле будут данные на момент чтения, даже если сразу после выполнения селекта, который длится какое-то время, они изменились. В SQL Server зависит от того, как она настроена. Грубо говоря, мешают ли читатели писателям и наоборот. Если мешают, то никто их не изменит, пока не закончится селект. Надо смотреть уровни изолированности транзакций.
@akss9245 Жыл бұрын
@@rayman4x4 спасибо!
@ДискотрактористПетрович4 ай бұрын
это все таки синтаксический сахар, поаккуратнее с ним. если внутри with бдует куча джоинов или обращений другим базам или даже вьюхам, все может дико тупить, особенно если там на этих базах будут проходить параллельно процессы типа truncate или delete. лучше загонять запрос во времянку, я думаю
@ИльяВарламов-ю9о2 жыл бұрын
Прекрасно, спасибо!)
@trrt97562 жыл бұрын
Благодарю за урок приятно слушать, жаль что курс заканчивается
@Coreduo2 жыл бұрын
Красавчик
@1boxingclub3782 жыл бұрын
То что в универах 5 лет объясняют ,тут становится понятным за один урок!
@PrimeSoft2 жыл бұрын
Спасибо Вам большое за такой отзыв!
@ВадимМатюхин-я6ш2 жыл бұрын
Тебе пять лет объясняли что такое with ?) Советую проверить учреждение в котором ты находился;)
@1boxingclub3782 жыл бұрын
@@ВадимМатюхин-я6ш А его и проверять не надо. Уже и так самый х...вуз на юге рф стал))
@dias97072 жыл бұрын
можно же ORDER BY desc использовать или внутренний запрос на макс зарплату
@ПросториНезламногоТранспорту2 жыл бұрын
Где найти скрипты для развертывания баз, которые используются как в данном уроке так и в каждом???
@fradbredway26652 жыл бұрын
Добрый! Спасибо за труд! Вопрос такой если в запросе grup by сделать ещё и сортировку по сумме, а в последнем условии сумма=(select сумма from rownum
@ic3shot_2 жыл бұрын
нет
@badoboroten1206 Жыл бұрын
Музыка на фоне как будто я смотрю не только про группировку, а на фоге играет музыка какой-нибудь спортивной тренировки
@ruslanultan16893 ай бұрын
привет из 2024! все понятно))
@AleksandrFetisov-y2j2 жыл бұрын
Спасибо. Очень интересно. Хотел бы послушать хороший разбор про JOIN и ORDER BY, а то везде такая мелкая выжимка, как это работает.
@drakula_61752 жыл бұрын
Можете сделать видео на тему перебора строк в Select? Бывает, что нужно вывести строки с определенными преобразованиями и условиями и приходится перебирать всё через While с использованием Offset fetch rows only(Пропуск строк)
@xenaio2 жыл бұрын
Много положительного уже сказано, но хотелось бы внести немного критики: 1. Чувствуется, что не хватает сценария. План явно есть, а вот подобрать слова "на лету" не получается. В результате много самоповторов и лишних ответвлений от темы. 2. По большому счёту 14 минут видео можно было уложить в минут 5-7, которые свелись бы к примерно следующему сценарию: - Всем привет, меня зовут _______, я являюсь ведущим разработчиком Oracle SQL в компании Prime Soft и рад приветствовать вас на нашем канале. Сегодня я расскажу вам про конструкцию WITH и как оптимизировать запросы к СУБД для ускорения работы вашего ПО. - Описание вашей задачи ("У нас есть таблица с начислениями, нужно получить сотрудников, которые получили максимальные начисления за период") - Как работает неоптимизированный запрос (я так понимаю, он предполагает вложенные запросы) и почему он является неоптимизированным (запрос дважды бегает в базу, что занимает время) - Как улучшить запрос (создать виртуальную таблицу t.* в оперативной памяти и бегать в неё, потому что она в быстром доступе и содержит меньше количество строк, поэтому её быстрее обрабатывать) - Надеюсь, вам понравилось. Кстати, наша компания занимается тем-то тем-то тем-то (если предполагает, что вас могут смотреть потенциальные клиенты-программисты, которым лень разбираться и проще нанять аутсорс под задачу), а также в описании вы можете найти ссылку на страницу вакансий, возможно, вам будет с нами интересно (если у вас есть вакансии). Всё, вот всё видео. 3. Зачем было показывать вариант с введением числа? 11:21 Это же прямое нарушение ТЗ "Определить сотрудников с максимальными выплатами за период". Признаться, чуть не закрыл в этот момент видео, решив, что на этом всё закончится. Показывать неправильно нужно только тогда, когда неправильный вариант кажется логичным решением, но имеет под собой какие-то минусы. А это - просто зря потраченные 2 минуты видео. 4. Звук. Звук очень тихий и очень высокий. И это не проблема голоса, это проблема микрофона и постобработки. Посмотрите среднестатистическое видео на ютубе и поймёте, какой уровень звука должен быть, чтобы ради просмотра вашего видео зрителю не приходилось крутить громкость. 5. Идея с вебкой отличная, но поскольку вы ничего гениального не показываете на неё, её можно сделать меньше, тогда не придётся её теребонькать по всему экрану, чтобы она ничего не загораживала. 6. Для справки: функция to_date есть в Oracle SQL (судя по тому, что я нашел), но, например, в MySQL её нет. А большинство среднестатистических зрителей подобного контента будут работать как раз либо с ним, либо с PostgreSQL. Учитывайте диалекты SQL и обязательно указывайте везде, где возможно, с каким диалектом работаете именно вы. А в идеале указывайте, какие функции делают то же самое в популярных диалектах, если там есть отличия. Кстати, информацию о ПО, СУБД и т.д. можно размещать в описании или в закрепленном комментарии. 7. 6:36 очень полезное уточнение, не спорю. Но во-первых, зачем вы группируете по ID и по ФИО? Сами же говорите, что эти поля всегда будут уникальны. А СУБД лишнюю проверку делать нужно. Во-вторых, вы, машущий руками, конечно, неплохая визуализация того, что происходит, но если не полениться и сделать анимацию/снять на видео, как рисуете на листочке/показать в рамках реального запроса - было бы в 100 раз понятнее и заняло бы раз в 5 меньше времени.
@СергейСухов-з8е9 ай бұрын
в чем преимущества With?!? можно таким же образом использовать подзапрос
@HillClimbWorld2 жыл бұрын
Чем отличается with от create view?
@EdwardNorthwind2 жыл бұрын
with это временная про именованная таблица, она не будет храниться вечно, а просто кешируется для многократного обращения. А view это постоянное представление.
@HillClimbWorld2 жыл бұрын
@@EdwardNorthwind спасибо за разъяснение
@kekand0s1412 жыл бұрын
почему нельзя было в конец запроса поставить букву t, далее навернуть select и так же обращаться например select t.name from(прошлый запрос)
@kekand0s1412 жыл бұрын
или select t.* from(прошлый запрос)
@PrimeSoft2 жыл бұрын
Здравствуйте! Тогда бы нам пришлось ещё раз писать тот же запрос в подзапросе (select max()...(прошлый запрос)). То есть один и тот же селект писали бы два раза.
@oqykz9 ай бұрын
надо было наглядно показать два кейса: с with и без. так не успел понять что выиграю если буду юзать
@PrimeSoft9 ай бұрын
Добрый день! Приходите, пожалуйста, к нам на курс по SQL. Все постарался рассказать наглядно и подробно: prime-soft.biz/courses/sql
@virtualvortex31462 жыл бұрын
А нельзя было составить такую конструкцию? WITH t AS( ........) SELECT MAX( SUM_PAYMENTS ) FROM t . Мне кажется так было бы немного проще.
@PrimeSoft2 жыл бұрын
Здравствуйте! Тогда бы мы знали только стоимость самого дорогого блюда, но на знали бы его названия.
@virtualvortex31462 жыл бұрын
@@PrimeSoft понятно, дякую!
@Vadim_igraet2 жыл бұрын
Пока рассказывают, - понятно. Как только начинаешь сам выполнять то чувствуешь себя полным говном 😂
@АлексейСоловьев-о9д2 жыл бұрын
Жиза
@Respecti-uv9tq Жыл бұрын
Я досмотрел и поставил лайк. Подача отвратительная( Попробуй писать сценарий, проговаривать его. Жду новые видео, удачи
@АлександрПатрушев-е5х Жыл бұрын
а если сразу написать в конце WHERE t.SUM_PAYMENTS = MAX(t.SUM_PAYMENTS) так не прошло бы?