Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Что такое расширенные обобщения с использованием ассоциированных элементов и where-ограничений, и как их применять для создания мощных абстракций?
Расширенные обобщения позволяют создавать гибкие структуры и функции, которые работают с различными типами. Ассоциированные элементы обеспечивают дополнительные возможности для типов, реализующих трейт, а where-ограничения упрощают добавление условий для типов. Это усиливает контроль и безопасность в коде.
В каком порядке выполняются WHERE, GROUP BY, HAVING, ORDER BY?
SQL-запрос выполняется не в том порядке, в котором он написан. Сначала фильтруются строки через WHERE, затем происходит группировка GROUP BY. После этого применяется фильтрация по агрегатам через HAVING. В самом конце результат сортируется с помощью ORDER BY.
Как написать простой SELECT с условием WHERE?
SELECT с WHERE используется для выборки строк по условию. В секции WHERE указывается логическое выражение. Запрос возвращает только те строки, которые удовлетворяют этому условию. Это основной механизм фильтрации данных в SQL.
Как меняется результат LEFT JOIN, если условие фильтрации перенести из ON в WHERE?
Если условие перенести из ON в WHERE, результат меняется.
Строки без совпадений отбрасываются.LEFT JOIN фактически превращается в INNER JOIN.
Это одна из самых частых ошибок в SQL.
Поведение запроса кардинально меняется.
В чем разница между условиями в JOIN ... ON и WHERE?
ON задаёт условия соединения таблиц.WHERE фильтрует результат после выполнения JOIN.
Для INNER JOIN разница часто не видна.
Для LEFT JOIN и других внешних соединений разница принципиальна.
Неправильное размещение условия может изменить результат запроса.
Можно ли в SQL в WHERE использовать агрегатные функции?
В каком порядке выполняется условие WHERE с оператором AND?
В чём разница между WHERE и HAVING в SQL-запросах?
Можно ли после GROUP BY применить WHERE‑фильтрацию? Если нет, то как?
В чём отличие сигнатур методов расширения LINQ (Where, OrderBy и т. д.) для IEnumerable<T> и IQueryable<T>?
Рейтинг:
2
Сложность:
6
Нет, агрегатные функции (как SUM, COUNT, AVG) нельзя использовать напрямую в условии WHERE. Вместо этого нужно использовать HAVING для фильтрации результатов агрегации. WHERE фильтрует строки до агрегации, а HAVING — после.
Рейтинг:
2
Сложность:
7
Условия в WHERE с оператором AND выполняются в произвольном порядке, так как SQL оптимизатор сам решает, в каком порядке их вычислять для эффективности. Однако логически AND вычисляется слева направо, но если условие ложно, дальнейшие проверки могут пропускаться (short-circuit evaluation). Важно помнить, что порядок не гарантирован, и не следует полагаться на него для side effects.
Рейтинг:
2
Сложность:
6
WHERE фильтрует строки до группировки и агрегации, а HAVING — после, уже по результатам агрегатных функций. WHERE не может использовать агрегаты, а HAVING предназначен как раз для условий по COUNT, SUM и т.д.
Рейтинг:
2
Сложность:
6
Нельзя — WHERE работает до агрегирования и не видит агрегатные функции. Для фильтрации по результатам GROUP BY используют HAVING, который применяется после группировки и может использовать агрегаты.
Рейтинг:
2
Сложность:
6
Для IEnumerable<T> методы расширения принимают Func<T, bool> (делегат), обрабатывая элементы в памяти, а для IQueryable<T> — Expression<Func<T, bool>> (дерево выражения), которое провайдер анализирует для перевода в удалённый запрос. Остальные методы (Select, OrderBy) аналогично различаются по типу параметра, что определяет, где и как выполняется логика.
Рейтинг:
2
Сложность:
8
Рейтинг:
5
Сложность:
6
Рейтинг:
2
Сложность:
2
Рейтинг:
5
Сложность:
6
Рейтинг:
5
Сложность:
6