Тёмный

Вопросы по SQL и Базам Данных на интервью - Часть 2 

Програмысли Влог
Подписаться 11 тыс.
Просмотров 14 тыс.
50% 1

Выбираем самые популярные - всего и по определенной группе.
Видео про связи: Многие ко многим
• Базы данных - Связь мн...
Обо мне: www.flenov.ru
Мой ИТ блог www.flenov.ru и www.flenov.info
Мой просто блог blo.moe
Tweeter: / flenov
Инстаграмм: / mflenov
Телеграмм: t.me/mflenov

Опубликовано:

 

16 ноя 2021

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 51   
@Dev-lessons
@Dev-lessons 4 месяца назад
Поддержать меня на Бусти и получить доступ к доп контенту: boosty.to/mflenov Обо мне: www.flenov.ru Мой ИТ блог www.flenov.info Телеграм: t.me/mflenov Twitter: twitter.com/flenov Инстаграм: instagram.com/mflenov/ Мой просто блог blo.moe
@deshdesh9866
@deshdesh9866 2 года назад
Прикольно, что (судя по комментам к этому видео и не только) такие видео смотрят в основном те, кто уже знает это, а не те, кто хочет научиться. Знающие люди даже на собеседованиях могут предложить какой-то уникальный способ решения задачи, который никому ранее не приходил в голову. Спасибо за видео!
@Hunteralex7
@Hunteralex7 7 месяцев назад
К счастью, только в основном, а не в только знающие)
@user-ph3ff4ej7n
@user-ph3ff4ej7n 2 года назад
Отличные видеоуроки, спасибо за контент, молодец
@Mr43046721
@Mr43046721 2 года назад
Большое спасибо за видео, было познавательно
@user-rw4nl8qf2g
@user-rw4nl8qf2g 4 месяца назад
вообще топ задачка, как раз что-то новое узнал, спасибо большое
@iibixapb
@iibixapb 2 года назад
Отличные материалы, отличный автор ;) Как всегда - приятно слушать ;)
@Dev-lessons
@Dev-lessons 2 года назад
Спасибо
@murmor0707
@murmor0707 2 года назад
Спасибо большое!
@viktorgladkih8048
@viktorgladkih8048 2 года назад
ORDER BY в целом в любом SQL надо отправлять на самый верхний уровень :) . За оконные функции отдельное уважение. Не все их уважают в век ORM(Привет Django).
@tamararetyunskaya4404
@tamararetyunskaya4404 Год назад
Первое что приходит на ум, Discount - это процент скидки и поэтому тип данных real ), тогда Формула выглядеть должна так: UnitPrice * Quantity * (1 - Discount)
@Dev-lessons
@Dev-lessons Год назад
Возможно
@user-rw4nl8qf2g
@user-rw4nl8qf2g 4 месяца назад
по поводу именования таблиц, не знаю на сколько это является стандртом в сообщество но я придерживаюсь соглашений из style guide по sql "Используйте собирательные имена или, что менее предпочтительно, форму множественного числа. Например, staff и employees (в порядке убывания предпочтения)."
@user-rw4nl8qf2g
@user-rw4nl8qf2g 4 месяца назад
блин ссылку удаляет вот короче: www sqlstyle guide
@getredtm
@getredtm 2 года назад
Использовать GROUP BY в подзапросе... А я всё время в табличкую переменную засовывал и её джойнил. Хотя подзапросы тоже использую, но конкретно для такой ситуации - никогда (в основном, in). Жесть. Спасибо... Это гораздо быстрее.
@user-jb7xp6ms3j
@user-jb7xp6ms3j 2 года назад
Microsoft Bing до сих пор проигрывает Google по всем статьям и его пытаются пользователям впихивать с браузером Edge
@magicdragon7819
@magicdragon7819 Год назад
Спасибо за задачки. Решил быстро. Но, кажется мне, на собесе на позицию sql dev будут задавать что-то посложнее. Надо бы повторить рекусивные запросы, анализ деревьев, автозаполнение диапазонов данных, пивоты, анализ и сборку xml/json, ну и внутрянку субд: кучи, индексы такие-сякие, пейджинг, алгоритмы выгрузки страниц итп
@vor6758
@vor6758 10 месяцев назад
А у меня спросили про Data Vault и Якорную модель проектирования БД) Это вообще трэш
@kidsgame5274
@kidsgame5274 Год назад
Если это самые сложные вопросы по sql, то я профессор в этой области )
@Dev-lessons
@Dev-lessons Год назад
Это самые сложные, что меня спрашивали, в Канаде самые простые интервью, которые мне приходилось проходить
@politehhnik
@politehhnik Год назад
Здравствуйте. А почему не воспользовались LIMIT n OVER?
@Dev-lessons
@Dev-lessons Год назад
LIMIT это же из MySQL.
@ululult7989
@ululult7989 2 года назад
А было видео про рекурсивные запросы?
@Dev-lessons
@Dev-lessons 2 года назад
Во время интервью ни разу не давали подобных вопросов, но видео подобного плана действительно можно записать на канал, сделал пометку
@getredtm
@getredtm 2 года назад
​@@Dev-lessons ПОЖАЛУЙСТА! и CTE - общий принцип, зачем оно (пока только применение в построении иерархии дерева папок (если не используем hierarchy_id) Курсор и его опции, а то простые (пример ниже) вроде устраивают, но вдруг что-то ещё полезное есть (типа local, forward_only (вообще непонятен смысл зачем, если он всегда "вперед" идёт) и т.п. DECLARE @calc_id INT DECLARE CUR CURSOR FOR SELECT calc_id FROM SandCalcs OPEN CUR FETCH NEXT FROM CUR INTO @calc_id WHILE @@FETCH_STATUS = 0 BEGIN DELETE FROM SandCalcs WHERE calc_id = @calc_id FETCH NEXT FROM CUR INTO @calc_id END CLOSE CUR DEALLOCATE CUR
@aziznortozhiev5342
@aziznortozhiev5342 2 года назад
Упс, мой комментарий удален. Вопрос такой, почему бизнес логика не должна хранится в БД(хранимые процедуры, функции)?
@Dev-lessons
@Dev-lessons 2 года назад
Я не удаляю вопросы, но уже не первый раз слышу про пропадающие комментарии, возможно какие-то фильтры RU-vid. По поводу логики в базе данных - ее потом сложно сопровождать, возникают проблемы с версиями и обновлениями без простоя приложения. Я об этом немного говорил в www.flenov.info/plus/content/Большие_сайты_-_Книга но думаю нужно записать полноценный видос на эту тему
@aziznortozhiev5342
@aziznortozhiev5342 2 года назад
@@Dev-lessons ждем развернутый ответ-видео. Да, во многих местах читаю, мнения разделяются, спорный вопрос. Особенно хотелось бы узнать Entity Framework или Stored Procedures в банковской среде, где требуется моментальных операций.
@hentan4912
@hentan4912 2 года назад
Могу отметить, что в компании где я работаю (в сфере логистики), бизнес логика практически полностью на sql, но не могу сказать что это хорошо и красиво смотрится везде..
@Dev-lessons
@Dev-lessons 2 года назад
@@hentan4912 Вопрос не в том, что хорошо или плохо смотрится, просто здесь есть плюсы и минусы и минусы очень даже серьезные
@hentan4912
@hentan4912 2 года назад
@@Dev-lessons ну будем ждать развёрнутой позиции по этому вопросу. Минусы с моей точки зрения это функциональность и декларативность самого языка, который в принципе не особенно предназначен для создания глобального продукта, а плюсы это маленькие накладные расходы. Это один из самых быстрых способов, чтобы ворочались большие данные
@chron9725
@chron9725 2 года назад
11:56 - Думал проверка синтаксиса ругнется на несуществующий алиас cnt, но почему-то нет.
@Dev-lessons
@Dev-lessons 2 года назад
Если бы я выполнил, то скорей всего была бы проблема, а так студия не всегда хорошо видит имена полей, которые возвращают подзапросы, поэтому могут быть проблемы
@user-rw4nl8qf2g
@user-rw4nl8qf2g 4 месяца назад
12:00 а разве discount Это не процент скидки типа total = (price * (1-discount) * quantity)
@Dev-lessons
@Dev-lessons 4 месяца назад
Может быть. Но я решил показать именно эту сторону чисел
@user-without-nickname
@user-without-nickname Год назад
Дискаунт - это процент скидки. Не вычитать надо, а умножать.
@Dev-lessons
@Dev-lessons Год назад
Возможно процент. А что произойдет, если умножить?
@thesilencer8017
@thesilencer8017 Год назад
@@Dev-lessons По идее нужно Sum((UnitPrice * (1 - cast(Discount as Money)))* Quantity)
@Mr43046721
@Mr43046721 2 года назад
Был на проекте по переводу подсистемы отчетности (простая выгрузка из БД в Эксель) с MS SQL на постгрес, вся бизнес-логика отчетов была в SQL скриптах)) с курсорами, временными таблицами и пр. А бывало что бизнес-логика некоторых отчетов была и в SQL запросе, и в бэке))) треш
@Dev-lessons
@Dev-lessons 2 года назад
Я так понимаю, что треш указывает на то, что ты не очень счастлив был такой архитектуре...
@Mr43046721
@Mr43046721 2 года назад
@@Dev-lessons дебажить было очень трудно) все-таки бд должна отдавать сет данных, а построение отчётов лучше делать на бэке
@Dev-lessons
@Dev-lessons 2 года назад
@@Mr43046721 Да, это точно будет проблемой
@user-nh1lp8xt4j
@user-nh1lp8xt4j 28 дней назад
У меня вчера на собесе спросили что такое транзакции, для чего нужны ключи помимо связей таблиц и что такое целостность данных. Я по этим вопросам жутко тупил. Если по транзакциям я что-то ответил невнятно, то остальное вообще не смог обьяснить))) Я не готовился особо по sql если честно.
@Dev-lessons
@Dev-lessons 27 дней назад
Надо готовится. Это прям совсем опыт должен быть большой, чтобы заходить на собеседование с ноги
@IgorGallemar
@IgorGallemar 2 года назад
Первый!!!
@user-cg4ly2ey6p
@user-cg4ly2ey6p Год назад
sql-academy - зе бест
@maksimblack87
@maksimblack87 2 года назад
Здравствуйте, есть комментарий по поводу поля Discount. Думаю что оно спецом сделано real потому как это скидка и ее надо вычитать не напрямую, а вот так: SUM((o.UnitPrice - o.UnitPrice*(cast(o.Discount as money)))*o.Quantity)
@Dev-lessons
@Dev-lessons 2 года назад
Ну в этом примере ты кастишь, а если бы скидка хранилась в money, то кастить не пришлось бы.
@maksimblack87
@maksimblack87 2 года назад
@@Dev-lessons может разработчики так хотели намекнуть что это проценты скидки?
@Dev-lessons
@Dev-lessons 2 года назад
Вот это скорей всего
Далее
Разница подходов
00:59
Просмотров 92 тыс.
SQL Injection - теория и примеры
13:17
Просмотров 21 тыс.