32 Урока Borland Delphi

         

В некоторых задачах необходимо получить


FROM employee e JOIN department d
ON e.dept_no = d.dept_no
AND department = "Customer Support"
WHERE last_name starting with "P"
получить список служащих
(а заодно и название отдела),
являющихся сотрудниками отдела
“Customer Support”, фамилии кото-
рых начинаются с буквы “P”
 
  FIRST_NAME LAST_NAME DEPARTMENT
============= =============== ===================
Leslie Phong Customer Support
Bill Parker Customer Support
 
 
          1. Самосоединения


          В некоторых задачах необходимо получить информацию, выбранную особым образом только из одной таблицы. Для этого используются так называемые самосоединения, или рефлексивные соединения. Это не отдельный вид соединения, а просто соединение таблицы с собой с помощью алиасов. Самосоединения полезны в случаях, когда нужно получить пары аналогичных элементов из одной и той же таблицы.
          SELECT one.last_name, two.last_name,
          one.hire_date
          FROM employee one, employee two
          WHERE one.hire_date = two.hire_date
          AND one.emp_no < two.emp_no
          получить пары фамилий сотрудников,
          которые приняты на работу в один
          и тот же день
          LAST_NAME LAST_NAME HIRE_DATE
          ==================== ==================== ===========
          Nelson Young 28-DEC-1988
          Reeves Stansbury 25-APR-1991
          Bishop MacDonald 1-JUN-1992
          Brown Ichida 4-FEB-1993
           
           
          SELECT d1.department, d2.department, d1.budget
          FROM department d1, department d2
          WHERE d1.budget = d2.budget
          AND d1.dept_no < d2.dept_no
          получить список пар отделов с
          одинаковыми годовыми бюджетами
          DEPARTMENT DEPARTMENT BUDGET
          ======================== ========================= =========
          Software Development Finance 400000.00
          Field Office: East Coast Field Office: Canada 500000.00
          Field Office: Japan Field Office: East Coast 500000.00
          Field Office: Japan Field Office: Canada 500000.00
          Field Office: Japan Field Office: Switzerland 500000.00
          Field Office: Singapore Quality Assurance 300000.00
          Field Office: Switzerland Field Office: East Coast 500000.00
           
           
        1. Внешние соединения
        2. Напомним, что внутреннее соединение возвращает только те строки, для которых условие соединения принимает значение true. Иногда требуется включить в результирующий набор большее количество строк.

          Содержание  Назад  Вперед







          Forekc.ru
          Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий