Встречается на собеседованиях • сегодня
В чем разница между ORM и написания SQL-запросов вручную
ORM (Object-Relational Mapping) позволяет работать с базой данных через объекты Python, абстрагируясь от SQL. Вручную написанные SQL-запросы дают больше контроля, но требуют больше кода.
Основные различия:
- ORM (например, SQLAlchemy, Django ORM):
- Автоматизирует CRUD-операции
- Позволяет избежать SQL-инъекций
- Менее эффективен для сложных запросов
python# Пример с Django ORM User.objects.filter(age__gt=18).order_by('name')
- Ручные SQL-запросы:
- Полный контроль над запросами
- Выше производительность для сложных операций
- Риск SQL-инъекций без правильного экранирования
python# Пример с psycopg2 cursor.execute("SELECT * FROM users WHERE age > %s ORDER BY name", (18,))
Выбор зависит от задачи: ORM удобен для типовых операций, ручной SQL — для оптимизации и сложной логики.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы