-- Напишите SQL-запрос, который вернет следующие данные:

Используйте EXISTS, чтобы выбрать клиентов, у которых есть хотя бы один заказ, без дублирования строки клиента по числу заказов.

Короткий ответ

Что ответить на собеседовании

Используйте EXISTS, чтобы выбрать клиентов, у которых есть хотя бы один заказ, без дублирования строки клиента по числу заказов.

Подробный разбор

Ответ с пояснениями

Условие

-- Напишите SQL-запрос, который вернет следующие данные: -- n1. Вывести имя клиента и его город, которые сделали хотя бы 1 заказ

Ответ

Используйте EXISTS, чтобы выбрать клиентов, у которых есть хотя бы один заказ, без дублирования строки клиента по числу заказов.

Для условной схемы customers(id, name, city) и orders(id, customer_id):

SELECT c.name, c.city
FROM customers AS c
WHERE EXISTS (
  SELECT 1
  FROM orders AS o
  WHERE o.customer_id = c.id
);

Имена таблиц в условии не заданы, поэтому здесь они обозначены явно. EXISTS проверяет наличие связи и не требует считать все заказы. Для большого объёма полезен индекс по orders.customer_id; два разных клиента с одинаковым именем не должны автоматически объединяться.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее