Ответ
Да, конечно. В Node.js-проектах я часто работаю с реляционными БД через драйверы (например, pg для PostgreSQL) или ORM. Вот пример JOIN-запроса, который я мог бы выполнить из Node.js-приложения, используя параметризованные запросы для безопасности:
// Пример с использованием библиотеки 'pg' (PostgreSQL)
const queryText = `
SELECT u.id, u.name, u.email, o.id AS order_id, o.total_amount, o.created_at
FROM users u
INNER JOIN orders o ON u.id = o.user_id
WHERE u.is_active = $1
ORDER BY o.created_at DESC
LIMIT $2;
`;
const values = [true, 10];
const result = await pool.query(queryText, values); // pool - пул соединений
Ключевые типы JOIN и их применение:
INNER JOIN: Возвращает только записи, для которых есть совпадение в обеих таблицах. Используется чаще всего.LEFT (OUTER) JOIN: Возвращает все записи из левой таблицы и совпадающие из правой. Если совпадения нет, поля из правой таблицы будутNULL. Полезно, например, для получения списка всех пользователей и их заказов, даже если заказов нет.RIGHT JOINиFULL JOINиспользуются реже, но я с ними знаком.
Важно для производительности: Поля, по которым происходит соединение (ON u.id = o.user_id), должны быть проиндексированы.