- •Задание 1.1. Подключиться к бд с логином / паролем studXx, где хх - номер группы, и запустить на выполнение скрипт scott_x.Sql. Что будет выполнено в результате его выполнения?
- •Задание 1.7. Занесите в таблицу assigments_n следующие данные:
- •Задание 1.16. Проверить или создать ограничения целостности, чтобы гарантировать, что каждый сотрудник в таблице emp значится в одном из отделов, перечисленных в таблице dept.
- •Задание 1.17. Определить и дать объяснение ограничения целостности в команде create table:
- •Задание 2.6. Составить команду sql для выборки данных о сотрудниках 20 и 30 отделов по алфавиту по их именам.
- •Задание 2.7. Составить команду sql для выборки имен служащих и их окладов для всех менеджеров в 10 и 20 отделах.
- •Задание 2.8. Составить команду sql для нахождения всех имен сотрудников содержащие комбинации символов "th" или "ar".
- •Задание 2.9. Составить команду sql для выдачи имен служащих, их должностей и окладов имеющих менеджера.
- •Задание № 3.7. Выберите имя, должность, оклад, категорию оклада, наименование отдела для всех сотрудников компании, кроме реализаторов. Организуйте строки по зарплате в порядке убывания.
- •Задание № 3.8. Выдайте следующую информацию о служащих, получивших доход от 2000 до 3000, а также по всем реализаторами.
- •Задание № 3.11. Модифицируйте запрос 10 так, чтобы в таблице результатов появился king, который не имеет менеджера.
- •Заполнение таблицы Услуги:
- •Создание запросов:
Задание № 3.7. Выберите имя, должность, оклад, категорию оклада, наименование отдела для всех сотрудников компании, кроме реализаторов. Организуйте строки по зарплате в порядке убывания.
SQL> select e.ename, e.job, e.sal, s.grade, d.dname
from emp e, dept d, salgrade s where e.deptno=d.deptno and e.sal between s.losal and s.hisal and e.job<>'SALESMAN' order by e.sal desc;
ENAME JOB SAL GRADE DNAME
---------- --------- ---------- ---------- --------------
KING PRESIDENT 5000 5 ACCOUNTING
FORD ANALYST 3000 4 RESEARCH
JONES MANAGER 2975 4 RESEARCH
BLAKE MANAGER 2850 4 SALES
CLARK MANAGER 2450 4 ACCOUNTING
MILLER CLERK 1300 2 ACCOUNTING
JAMES CLERK 950 1 SALES
SMITH CLERK 800 1 RESEARCH
8 rows selected.
Задание № 3.8. Выдайте следующую информацию о служащих, получивших доход от 2000 до 3000, а также по всем реализаторами.
SQL> select e.* from emp e where e.sal between 2000 and 3000 or e.job='SALESMAN';
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- -------- ---------- ---------- -
7499 ALLEN SALESMAN 7698 20.02.81 1600 300 30
7521 WARD SALESMAN 7698 22.02.81 1250 500 30
7566 JONES MANAGER 7839 02.04.81 2975 20
7654 MARTIN SALESMAN 7698 28.09.81 1250 1400 30
7698 BLAKE MANAGER 7839 01.05.81 2850 30
7782 CLARK MANAGER 7839 09.06.81 2450 10
7844 TURNER SALESMAN 7698 08.09.81 1500 0 30
7902 FORD ANALYST 7566 03.12.81 3000 20
8 rows selected.
Задание № 3.9. Найдите отдел, в котором нет служащих. Найдите служащих в каждом отделе.
SQL> select dname from dept where deptno not in (select deptno from emp);
no rows selected
SQL> select count(*) count, deptno from emp group by deptno;
COUNT DEPTNO
---------- ----------
6 30
3 20
2 40
3 10
Задание № 3.10. Выберите номера и имена всех служащих, а также номера и имена их менеджеров. Используйте простое соединение.
select e.empno empno_emp, e.ename ename_emp, ee.empno empno_mgr, ee.ename ename_mgr from emp e join emp ee on ee.empno=e.mgr
EMPNO_EMP ENAME_EMP EMPNO_MGR ENAME_MGR
---------- ---------- ---------- ----------
7902 FORD 7369 SMITH
7698 BLAKE 7499 ALLEN
7698 BLAKE 7521 WARD
7839 KING 7566 JONES
7698 BLAKE 7654 MARTIN
7839 KING 7698 BLAKE
7839 KING 7782 CLARK
7698 BLAKE 7844 TURNER
7698 BLAKE 7900 JAMES
7566 JONES 7902 FORD
7782 CLARK 7934 MILLER