Разработка приложений баз данных в Delphi. Шейкер Т.Д. - 96 стр.

UptoLike

Составители: 

96
Пример 4.5. Получить сведения о заказах (номер, стоимость, дата прода-
жи) со стоимостью больше 20 000, оформленных сотрудником по фамилии
Nelson (имя, фамилия). Сформировать запрос с использованием слова
JOIN и
псевдонимов.
SELECT e.FirstName, e.LastName,
o.OrderNo, o.ItemsTotal, o.SaleDate
FROM employee e JOIN orders o
ON o.ItemsTotal>=20000 AND e.EmpNo=o.EmpNo
WHERE e.LastName="Nelson"
Рис. 37. Результат выполнения примера 4.5
После слова ON записано условие соединения и условие отбора строк, ос-
нованное на «правой» таблице
orders. Условие, использующее данные из
«левой» таблицы (
employee), записано после слова WHERE.
4.3. Самосоединения
В некоторых задачах необходимо получить информацию, выбранную
особым образом только из одной таблицы. Для этого используются самосоеди-
нениясоединение таблицы с собой с помощью псевдонимов. Самосоединения
полезны в случаях, когда нужно получить пары аналогичных элементов из од-
ной и той же таблицы.
Пример 4.6. Получить пары фамилий сотрудников, которые приняты на
работу в один и тот же день
SELECT one.LastName, two.LastName, one.HireDate
FROM employee one, employee two
WHERE one.HireDate = two.HireDate
AND one.EmpNo < two.EmpNo
     Пример 4.5. Получить сведения о заказах (номер, стоимость, дата прода-
жи) со стоимостью больше 20 000, оформленных сотрудником по фамилии
Nelson (имя, фамилия). Сформировать запрос с использованием слова JOIN и
псевдонимов.
SELECT e.FirstName, e.LastName,
        o.OrderNo, o.ItemsTotal, o.SaleDate
FROM employee e JOIN orders o
ON o.ItemsTotal>=20000 AND e.EmpNo=o.EmpNo
WHERE e.LastName="Nelson"




                   Рис. 37. Результат выполнения примера 4.5


     После слова ON записано условие соединения и условие отбора строк, ос-
нованное на «правой» таблице – orders. Условие, использующее данные из
«левой» таблицы (employee), записано после слова WHERE.


                              4.3. Самосоединения
     В некоторых задачах необходимо получить информацию, выбранную
особым образом только из одной таблицы. Для этого используются самосоеди-
нения – соединение таблицы с собой с помощью псевдонимов. Самосоединения
полезны в случаях, когда нужно получить пары аналогичных элементов из од-
ной и той же таблицы.
     Пример 4.6. Получить пары фамилий сотрудников, которые приняты на
работу в один и тот же день
SELECT one.LastName, two.LastName, one.HireDate
FROM employee one, employee two
WHERE one.HireDate = two.HireDate
         AND one.EmpNo < two.EmpNo




                                      96