Скачиваний:
49
Добавлен:
10.02.2015
Размер:
873.98 Кб
Скачать

Создание таблиц

CREATE TABLE my_birthdays ( first_name VARCHAR2(20), last_name VARCHAR2(25), bday_date DATE );

Управления столбцами

ALTER TABLE personal_info ADD (contact_email VARCHAR2(30) NULL);

ALTER TABLE personal_info MODIFY (contact_email VARCHAR2(40) NOT NULL)

ALTER TABLE personal_info DROP COLUMN contact_address;

Переименование и удаление таблиц

ALTER TABLE my_birthdays RENAME to birthdays

DROP TABLE birthdays;

DROP TABLE personal_info;

Управление индексами

CREATE INDEX emp_hiredate_idx ON employees (hire_date);

ALTER INDEX emp_hiredate_idx RENAME TO emp_hire_date_idx;

DROP INDEX emp_hire_date_idx;

Управление индексами

CREATE INDEX emp_mgr_id_ix ON employees (employee_id, manager_id); DROP INDEX emp_mgr_id_ix;

CREATE INDEX emp_upper_last_name_ix ON employees (UPPER(last_name)); DROP INDEX emp_upper_last_name_ix;

- Ускоряет выполнение запроса, где в выражении WHERE есть UPPER(last_name(

Управление видами

CREATE OR REPLACE VIEW my_emp_view AS SELECT d.department_id, d.department_name, e.employee_id, e.first_name, e.last_name FROM employees e JOIN departments d ON d.manager_id = e.employee_id;

DROP VIEW my_emp_view;

Управление

последовательностями

CREATE SEQUENCE new_employees_seq START WITH 1000 INCREMENT BY 1;

SELECT new_employees_seq.NEXTVAL FROM DUAL;

INSERT INTO employees VALUES (new_employees_seq.CURRVAL, 'Pilar', 'Valdivia', 'pilar.valdivia', '555.111.3333', '01- SEP-05', 'AC_MGR', 9100, .1, 101, 110);

SELECT employee_id, last_name FROM employees WHERE last_name = 'Valdivia';

Управление синонимами

CREATE SYNONYM emps for HR.employees;

SELECT employee_id, last_name FROM emps WHERE employee_id < 105;

DROP SYNONYM emps;

Вложенные SQL запросы

В текст запроса можно добавить ещё один sql-запрос, заключённый в скобки.

SELECT department_id, last_name, salary

FROM employees x

WHERE salary > (SELECT AVG(salary)

FROM employees

WHERE x.department_id = department_id)

ORDER BY department_id;

Вложенные SQL запросы

SELECT last_name, department_id FROM employees WHERE department_id = (SELECT department_id FROM employees WHERE last_name = 'Lorentz') ORDER BY last_name;

Соседние файлы в папке Презентации студентов