- •Раздел 1 Утилита sql*Plus, простые запросы выборки столбцов и строк
- •7839 King president 17-nov-81 5000 10
- •7900 James 950
- •7 Rows selected.
- •7 Rows selected.
- •14 Rows selected.
- •14 Rows selected.
- •14 Rows selected.
- •9 Rows selected.
- •14 Rows selected.
- •14 Rows selected.
- •14 Rows selected.
- •6 Rows selected.
- •14 Rows selected.
- •14 Rows selected.
- •7369 Smith 800
- •Функции Oracle sql
- •9 Rows selected.
- •Раздел 3 Выборка данных из нескольких таблиц
- •20 Smith 800
- •30 James 950
- •10 Miller 1300
- •6 Rows selected.
- •6 Rows selected.
- •6 Rows selected.
- •8 Rows selected.
- •8 Rows selected.
- •14 Rows selected.
- •9 Rows selected.
- •9 Rows selected.
- •14 Rows selected.
- •14 Rows selected.
- •14 Rows selected.
- •6 Rows selected.
- •15 Rows selected.
- •14 Rows selected.
- •14 Rows selected.
- •14 Rows selected.
- •7 Rows selected.
- •Раздел 4 Другие команды языка манипулирования данными dмl и обработка транзакций
- •7902 Ford analyst 7566 03-dec-81 3000 20
- •7788 Scott analyst 7566 09-dec-82 3000 20
- •Раздел 5 Создание и изменение таблиц средствами ddl
- •Раздел 6 Другие объекты базы данных
- •7934 Miller 10
- •16 Rows selected.
7369 Smith 800
7499 ALLEN 1600
7521 WARD 1250
7566 JONES 2975
7654 MARTIN 1250
7698 BLAKE 2850
7782 CLARK 2450
7788 SCOTT 3000
7839 KING 5000
7844 TURNER 1500
7876 ADAMS 1100
7900 JAMES 950
7902 FORD 3000
7934 MILLER 1300
14 rows selected.
Здесь использовано то свойство типов данных, что сумма числа и NULL значения дает NULL значение.
Раздел 2
Функции Oracle sql
Q2_1
Вычислить средний размер комиссионных по сотрудникам , которые их получают
SQL> select avg(comm) from EMP;
AVG(COMM)
---------
550
Q2_2
Вычислить средний размер комиссионных по всем сотрудникам
SQL> select avg(nvl(comm,0)) from EMP;
AVG(NVL(COMM,0))
----------------
157.14286
Q2_3
Сумма окладов всех сотрудников
SQL> select sum(sal) as summa from EMP;
SUMMA
---------
29025
Q2_4
Минимальный и максимальный оклад клерков
SQL> select min(sal),max(sal) from EMP
where job='CLERK';
MIN(SAL) MAX(SAL)
--------- ---------
800 1300
Q2_5
Разбиение таблицы по значению поля разбиения с использованием GROUP BY
Средний оклад для каждой должности
SQL> select job,avg(sal) as middle
from EMP
group by job;
JOB MIDDLE
--------- ---------
ANALYST 3000
CLERK 1037.5
MANAGER 2758.3333
PRESIDENT 5000
SALESMAN 1400
Q2_6
Средний оклад по должностям внутри отделов
SQL> select DEPTNO dept,job,avg(sal) middle from EMP
group by DEPTNO,job;
DEPTNO JOB MIDDLE
--------- --------- ---------
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
20 ANALYST 3000
20 CLERK 950
20 MANAGER 2975
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 1400
