Встречается на собеседованиях • сегодня

В чём разница между INNER JOIN и RIGHT JOIN

INNER JOIN возвращает только те строки, где есть совпадения в обеих таблицах. RIGHT JOIN возвращает все строки из правой таблицы, даже если нет совпадений в левой (в таких случаях поля левой таблицы будут NULL).

Пример с SQL:

sql
-- INNER JOIN (только пользователи с заказами)
SELECT users.name, orders.total
FROM users
INNER JOIN orders ON users.id = orders.user_id;

-- RIGHT JOIN (все заказы, даже без пользователей)
SELECT users.name, orders.total
FROM users
RIGHT JOIN orders ON users.id = orders.user_id;

text

В Node.js при работе с ORM типа Sequelize:
```javascript
// INNER JOIN
User.findAll({
  include: [{
    model: Order,
    required: true // эквивалент INNER JOIN
  }]
});

// RIGHT JOIN
User.findAll({
  include: [{
    model: Order,
    required: false,
    right: true // RIGHT JOIN
  }]
});

Основное отличие: INNER JOIN - пересечение, RIGHT JOIN - всё из правой таблицы + совпадения слева.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы