Size: a a a

Обсуждения техдирские

2019 November 07

AS

Aleksey Smirnov in Обсуждения техдирские
Dmitry Simonov
Удивительно, но очень много кандидатов на позицию разработчика не могу составить sql-запрос на две таблицы с использованием left join. Причём первой проблемой оказывается сама агрегирующая функция (кандидаты уверенно себя чувствуют только, если сами нагуглят функцию count), а про left join и слыхом не слыхивали.

Причём кандидаты приходят с опытом в несколько лет работы во вполне себе системах.

SQL стал немодным? Его учить - теперь моветон?
Везде фреймворки с ORM, чистый sql обычный разраб уже и видит редко.
источник

KR

Konstantin Rekunov in Обсуждения техдирские
Теперь модно nosql и вот это вот все. А документацию читать немодно)
источник

РИ

Роман Ивлиев in Обсуждения техдирские
Dmitry Simonov
Удивительно, но очень много кандидатов на позицию разработчика не могу составить sql-запрос на две таблицы с использованием left join. Причём первой проблемой оказывается сама агрегирующая функция (кандидаты уверенно себя чувствуют только, если сами нагуглят функцию count), а про left join и слыхом не слыхивали.

Причём кандидаты приходят с опытом в несколько лет работы во вполне себе системах.

SQL стал немодным? Его учить - теперь моветон?
Orm же и уровень задач
источник

РИ

Роман Ивлиев in Обсуждения техдирские
Konstantin Rekunov
Теперь модно nosql и вот это вот все. А документацию читать немодно)
Nosql одинаково модно, как и sql, вопрос в решаемых задачах
источник

R

Ruslan in Обсуждения техдирские
В вакансии указано, что нужно знать SQL?
источник

DS

Dmitry Simonov in Обсуждения техдирские
Ruslan
В вакансии указано, что нужно знать SQL?
Не сомневайся. Вчера был кандидат со знанием питона в постгре, но без знания sql
источник

DS

Dmitry Simonov in Обсуждения техдирские
Сегодня был true сипипишник умеющий работать с микроконтроллерами, но опять же знаний sql
источник

СБ

Сергей Будников in Обсуждения техдирские
А может дело в JOIN? Я за 25 лет в ИТ так и не привык к JOIN и всегда пользовался "where a.a=b.a and .. or ...". В школе учителя говорят, что если задачу школьникам дать не с X и Y а с фита и гамма какими-нибудь и большинство не решат привычные уравнения 🙂
источник

АС

Алёша Спокойник in Обсуждения техдирские
С обычным where далеко не все задачи можно решить. А на деле, применений left join вагон и ещё тележка.
источник

R

Ruslan in Обсуждения техдирские
left join условиями в секции where не заменить
источник

DS

Dmitry Simonov in Обсуждения техдирские
Сергей Будников
А может дело в JOIN? Я за 25 лет в ИТ так и не привык к JOIN и всегда пользовался "where a.a=b.a and .. or ...". В школе учителя говорят, что если задачу школьникам дать не с X и Y а с фита и гамма какими-нибудь и большинство не решат привычные уравнения 🙂
Это Inner join. Я долгое время сам предпочитал именно таким способом пользоваться, но лет двадцать назад перешёл на джойны.
источник

СБ

Сергей Будников in Обсуждения техдирские
Алёша Спокойник
С обычным where далеко не все задачи можно решить. А на деле, применений left join вагон и ещё тележка.
для этого есть сабселекты с "IN" и "NOT IN" и обычно этого хватает. Я знаю про виды JOIN, полезу к ним, только если не впишусь, чего почти не было. А если меня будут гонять на собеседовании по синтаксису сложных * JOIN, то поплыву, т.к. считаю его нечитаемым и не пользуюсь. При этом это не мешает мне много лет успешно решать задачи, связанные с различными базами и SQL-диалектами.
источник

АС

Алёша Спокойник in Обсуждения техдирские
ИМХО, конечно, но сабселекты выглядят и читаются сложнее. Хотя, может быть это дело привычки. Да и JOIN (все) мне кажутся более синтаксически верными, нежели условия в WHERE. Видится логичным, что связи прописаны в FROM, а условия отдельно в WHERE.
источник

R

Ruslan in Обсуждения техдирские
left join от join по синтаксису отличается только словом left, тут нет никакого гоняния на собеседовании.
Если от кандидата требуется знание SQL и он не знает left join, то он не знает SQL.
источник

СБ

Сергей Будников in Обсуждения техдирские
Ruslan
left join от join по синтаксису отличается только словом left, тут нет никакого гоняния на собеседовании.
Если от кандидата требуется знание SQL и он не знает left join, то он не знает SQL.
максимализм. Если хочется посамоутверждаться и нет задачи найти спеца, то сколько угодно. А если челу нужно просто подтянуть конкретную специфику закручивания гаек на 12.3 с левосторонней резьбой, при наличии опыта ремонта техники, то отказывать ему глупо.
источник

АС

Алёша Спокойник in Обсуждения техдирские
Слишком общий вопрос, от условий задачи зависит)
источник

GN

Gleb Novikov in Обсуждения техдирские
Алёша Спокойник
Слишком общий вопрос, от условий задачи зависит)
и от рисков добавлять зависимости
источник

АС

Алёша Спокойник in Обсуждения техдирские
И где вариант Materialized Paths?
источник

IM

Ivan Mashintsev in Обсуждения техдирские
Можно ещё mptt заиспользовать
источник

IM

Ivan Mashintsev in Обсуждения техдирские
Modified Preorder Tree Traversal
источник