Какая типичная ошибка при работе с SQL injection и как ее избежать?
Что хотят услышать интервьюеры:
По теме SQL injection часто проверяют не только знание определения, но и способность избежать типичных ошибок. Хороший ответ включает план выполнения, индексы, кардинальность, транзакции и параметризацию.
- Суть: SQL injection возникает при выполнении SQL, собранного из непроверенного пользовательского ввода.
- Где встречается: проектирование схемы, написание запросов, индексы, транзакции и оптимизация SQL Server.
- Типичная ошибка: писать запрос без учета индексов, транзакций, плана выполнения и SQL injection.
- Как отвечать: начните с короткого определения, затем приведите пример, назовите ограничение и типичную ошибку.
- Ожидаемый уровень: Middle. Практическое применение в проекте, ограничения и типовые ошибки.
Ответ:
SELECT UserId, COUNT(*) FROM Orders GROUP BY UserId HAVING COUNT(*) > 1;