Задача:
Напишите вместо пропуска в запросе выражение, которое выведет имена клиентов и номера их заказов:
SELECT c.Name, o.OrderNumber FROM Customers c [ПРОПУСК] JOIN Orders o ON c.CustomerID = o.CustomerID
Решение:
Для объединения двух таблиц (Customers и Orders) по общему столбцу (CustomerID) используется оператор JOIN. В данном случае, поскольку нам нужно получить только те записи, для которых есть совпадения в обеих таблицах (то есть, клиенты, у которых есть заказы), используется INNER JOIN.
Таким образом, пропущенное выражение будет INNER.
Полный запрос будет выглядеть так:
SELECT c.Name, o.OrderNumber FROM Customers c INNER JOIN Orders o ON c.CustomerID = o.CustomerID
Пояснение:
В языке SQL:
SELECT c.Name, o.OrderNumber: Выбирает имя клиента (Name) из таблицыCustomers(с псевдонимомc) и номер заказа (OrderNumber) из таблицыOrders(с псевдонимомo).FROM Customers c: Указывает, что первая таблица, из которой берутся данные, этоCustomers, и ей присваивается псевдонимcдля удобства.INNER JOIN Orders o: Это оператор объединения.INNER JOINвозвращает только те строки, которые имеют совпадающие значения в обеих таблицах. ТаблицаOrdersполучает псевдонимo.ON c.CustomerID = o.CustomerID: Это условие объединения. Оно указывает, по какому столбцу таблицы должны быть сопоставлены. В данном случае, строки изCustomersиOrdersбудут объединены, если значения в столбцахCustomerIDсовпадают.
Этот запрос эффективно связывает клиентов с их заказами, позволяя вывести информацию из обеих таблиц в одном результате.
