Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lec6.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
204 Кб
Скачать
☆

Использование подзапросов в других предложениях команд sql

Пример использования подзапроса в предложении FROM: Выбрать три региона, в которых больше всего фирм клиентов:

SELECT s.*, ROWNUM region

FROM (SELECT region_id, COUNT(*)

FROM s_customer

GROUP BY region_id

ORDER BY 2 DESC) s

WHERE ROWNUM <= 3;

Результат:

REGION_ID COUNT(*) REGION

--------- --------- ---------

1 4 1

5 4 2

4 3 3

Пример использования подзапроса в предложении HAVING: Найти должность с самой низкой средней заработной платой:

SELECT title, AVG(salary)

FROM s_emp

GROUP BY title

HAVING AVG(salary)=(SELECT MIN(AVG(salary))

FROM s_emp

GROUP BY title);

Результат:

TITLE AVG(SALARY)

--------------- -----------

Stock Clerk 949

Пример использования подзапроса в предложении SELECT: Для каждого служащего получить его номер, номер отдела, в котором он работает, зарплату и процент, который составляет его зарплата в суммарной зарплате его отдела:

SELECT id, dept_id, salary, salary/(SELECT SUM(salary)

FROM s_emp

WHERE dept_id=e.dept_id)*100 "%"

FROM s_emp e

ORDER BY 2;

Результат:

ID DEPT_ID SALARY %

----- --------- --------- ---------

4 10 1450 100

3 31 1400 50

11 31 1400 50

12 32 1490 100

13 33 1515 100

14 34 1525 65,732759

23 34 795 34,267241

15 35 1450 100

2 41 1450 29,058116

…

25 rows selected.

9

Л екция 9. Язык SQL. Подзапросы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]