Клиенты < /strong> таблица
| Имя | Тип | Параметры |
| -------- | -------------- | --------------------------- |
| id | Int | Первичный ключ, автоматическое приращение |
| Электронная почта | Varchar (255) | Не null |
| имя | Varchar (255) | Не null |
Адрес таблица
name < /th>
type < /th>
Параметры < /th>
< /tr>
< /thead>
id < /td>
int < /td>
первичная клавиша, автоматическое приращение < /td>
< /tr>
customer_id < / td>
int
иностранная ключ ref: клиенты . id
< /tr>
адрес < /td>
varchar (255) < /td>
не null < /td >
< /tr>
is_default < /td>
small int < /td>
default: default: 0
Пример случая: мне нужно получить каждый Клиент вместе с их адресами по умолчанию, если я запускаю этот запрос < /p>
Код: Выделить всё
SELECT
id,
name,
(
SELECT
address
FROM addresses
WHERE
customer_id = customers.id AND
is_default = 1 LIMIT 1
) AS default_address
FROM customers;
Я писал такой запрос на свои проекты много раз, и это просто для меня "можно ли вызвать n+1"? < /p>
Буду ожидать, что кто -то даст мне некоторое объяснение об этом, может быть запрос N+1 или нет. Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/794 ... n1-problem
Мобильная версия