insert into
semeynoepolzenie
values
(6,'разведена');
insert into
semeynoepolzenie
values
(7,'вдова');
insert into
semeynoepolzenie
values
(8,'вдовец');
insert into
goroda
values (1,'Москва');
insert into
goroda
values (2,'Уфа');
insert into
goroda
values (3,'Казань');
insert into
goroda
values (4,'Хабаровск');
insert into
goroda
values (5,'Кстово');
insert into
dolznosti
values (1,'Электромонтер');
insert into
dolznosti
values (2,'Бухгалтер');
insert into
dolznosti
values (3,'Секретарь');
insert into
dolznosti
values (4,'Экономист');
insert into
dolznosti
values (5,'Программист');
insert into
dolznosti
values (6,'Приборист');
insert into
dolznosti
values (7,'Инспектор
по кадрам');
insert into
dolznosti
values (8,'Инженер
КИПиА');
insert into
dolznosti
values (9,'Ведущий
технолог');
insert into
obrazovanie
values(1,'Неполное
среднее');
insert into
obrazovanie
values(2,'Среднее');
insert into
obrazovanie
values(3,'Среднее
специальное');
insert into
obrazovanie
values(4,'Неполное
высшее');
insert into
obrazovanie
values(5,'Высшее');
insert into
sotrudniki
values(1,734,'Заборонок','Евгений','Васильевич','15.12.1970','ул.
Ленина',2,25,478,3,3,1,1,1);
insert into
sotrudniki
values(2,753,'Волощук','Анна','Владимировна','05.09.1965','ул.
Нефтяников','53A',253,2850294,2,1,3,4,4);
insert into
sotrudniki
values(3,352,'Тесов','Николай','Васильевич','1.11.1985','ул.
Потёмкина','76',null,89286729485,3,3,5,4,5);
insert into
sotrudniki
values(4,267,'Коваленко','Михаил','Александрович','25.01.1972','ул.
Чехова',11,41,89620693829,5,5,1,4,1);
insert into
sotrudniki
values(5,378,'Коваленко','Анастасия','Владимировна','25.06.1985','ул.
Ефремова','35',12,89360496027,2,4,5,5,4);
insert into
sotrudniki
values(6,62,'Королев','Анатолий','Кириллович','31.03.1982','ул.
Даля','66',77,89520694837,6,1,5,5,2);
insert into
sotrudniki
values(7,363,'Королева','Юлия','Сергеевна','15.07.1959','ул.
Прокофьева','2',62,89482759482,9,2,3,5,6);
insert into
sotrudniki
values(8,836,'Смолькин','Кирилл','Васильевич','16.05.1985','ул.
Чкалова','5',54,89081901733,8,3,5,5,1);
insert into
sotrudniki
values(9,245,'Иванова','Татьяна','Ивановна','01.02.1985','ул.
Приокская','51/1',1,89503958391,7,5,1,5,4);
insert into
sotrudniki
values(10,362,'Филина','Тамара','Станиславовна','28.10.1968','ул.
Григорьева','95',105,89524674839,3,6,1,5,7);
insert into
sotrudniki
values(11,25,'Мирошниченко','Снежана','Александровна','14.02.1980','ул.
Витебская','6',54,89028904938,4,6,1,4,3);
insert into
sotrudniki
values(12,653,'Цыпилева','Алина','Николаевна','06.09.1961','ул.
Солнечная','66',null,89540296847,4,6,2,5,3);
insert into
sotrudniki
values(13,324,'Мора','Александр','Викторович','27.09.1968','ул.
Муромская','55',1,89604928473,4,9,3,4,2);
insert into
sotrudniki
values(14,124,'Потапов','Александр','Николаевич','25.02.1971','ул.
Зеленая','11',null,null,5,9,5,5,2);
insert into
sotrudniki
values(15,125,'Горигорьев','Петр','Алексеевич','14.05.1958','ул.
Красина','88',95,89620395847,5,9,5,4,2);
insert into
sotrudniki
values(16,634,'Маслин','Евгений','Петрович','20.11.1985','ул.
Гастелло','105',103,89059687948,1,8,4,3,1);
insert into
sotrudniki
values(17,233,'Басин','Сергей','Сергеевич','12.12.1961','ул.
Просвещенская','5',3,89069583758,6,8,3,5,1);
insert into
sotrudniki
values(18,112,'Шивеев','Александр','Васильевич','15.07.1973','ул.
Рябцева','7',66,89607938692,1,1,4,5,5);
insert into
sotrudniki
values(19,521,'Каримова','Анастасия','Игоревна','17.05.1974','ул.
Ухтомского','11',95,89582768291,5,2,5,4,6);
insert into
sotrudniki
values(20,262,'Блохина','Галина','Викторовна','12.01.1965','ул.
Тормозная','11',96,89586728495,3,4,4,5,5);
insert into
sotrudniki
values(21,624,'Ахатов','Роман','Георгеевич','12.04.1974','ул.
Болотникова','96',null,null,8,3,1,4,2);
…
1 rows inserted
…
Все
строки были добавлены успешно.
6.
Работа с таблицами,
запросы
SELECT
— оператор DML языка SQL, возвращающий
набор данных (выборку) из базы
данных, удовлетворяющих заданному
условию.
В
большинстве случаев, выборка осуществляется
из одной или нескольких таблиц.
В последнем случае говорят об
операции слияния (англ. join). В тех
СУБД, где реализованы представления
и хранимые процедуры, также возможно
получение соответствующих наборов
данных.
При
формировании запроса SELECT пользователь
описывает ожидаемый набор данных:
его вид (набор столбцов) и его
содержимое (критерий попадания записи
в набор, группировка значений, порядок
вывода записей и т.п.).
Запрос
выполняется следующим образом:
сначала извлекаются все записи
из таблицы, а, затем, для каждой записи
набора проверяется её соответствие
заданному критерию. Если осуществляется
слияние из нескольких таблиц, то сначала
составляется произведение таблиц, а
уже затем из полученного набора
отбираются требуемые записи.
Особую
роль играет обработка NULL-значений, когда
при слиянии, например, двух таблиц
— главной (англ. master) и подчинённой
(англ. detail) — имеются или отсутствуют
соответствия между записями таблиц,
участвующих в слиянии. Для решения
этой задачи используются механизмы
внутреннего (англ. inner) и внешнего (англ.
outer) слияния.
Один
и тот же набор данных может
быть получен при выполнении различных
запросов. Поиск оптимального плана
выполнения данного запроса является
задачей оптимизатора.
Оператор
SELECT имеет следующую структуру:
SELECT
[DISTINCT | DISTINCTROW | ALL]
select_expression,...
[FROM table_references
[WHERE where_definition]
[GROUP BY {unsigned_integer | col_name | formula} [ASC | DESC], ...]
[HAVING where_definition]
[ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC], ...]
Формат
запроса с использованием данного
оператора:
SELECT
список полей FROM список таблиц
WHERE условия…
Основные
ключевые слова, относящиеся к запросу
SELECT:
WHERE
— используется для определения,
какие строки должны быть выбраны
или включены в GROUP BY.
GROUP
BY — используется для объединения
строк с общими значениями
в элементы меньшего набора
строк.
HAVING
— используется для определения,
какие строки после GROUP BY должны
быть выбраны.
ORDER
BY — используется для определения,
какие столбцы используются для
сортировки результирующего набора
данных.
Добавим,
с помощью запроса, столбец "ZARPLATA"
в таблицу "SOTRUDNIKI", для этого воспользуемся
предложением ALTER TABLE .. ADD:
ALTER
TABLE SOTRUDNIKI
ADD (ZARPLATA numeric);
Результат:
ALTER TABLE
SOTRUDNIKI succeeded.
Т.к.
значение по умолчанию указано не было,
то значения полей равны NULL, теперь необходимо
обновить их:
UPDATE SOTRUDNIKI
set zarplata
= 24562
where kodsotrud=1;
UPDATE SOTRUDNIKI
set zarplata
= 73465
where kodsotrud=2;
UPDATE SOTRUDNIKI
set zarplata
= 24572
where kodsotrud=3;
UPDATE SOTRUDNIKI
set zarplata
= 24567
where kodsotrud=4;
UPDATE SOTRUDNIKI
set zarplata
= 2566
where kodsotrud=5;
UPDATE SOTRUDNIKI
set zarplata
= 24571
where kodsotrud=6;
UPDATE SOTRUDNIKI
set zarplata
= 13417
where kodsotrud=7;
UPDATE SOTRUDNIKI
set zarplata
= 86533
where kodsotrud=8;
UPDATE SOTRUDNIKI
set zarplata
= 32624
where kodsotrud=9;
UPDATE SOTRUDNIKI
set zarplata
= 24636
where kodsotrud=10;
UPDATE SOTRUDNIKI
set zarplata
= 97547
where kodsotrud=11;
UPDATE SOTRUDNIKI
set zarplata
= 42642
where kodsotrud=12;
UPDATE SOTRUDNIKI
set zarplata
= 24621
where kodsotrud=13;
UPDATE SOTRUDNIKI
set zarplata
= 12413
where kodsotrud=14;
UPDATE SOTRUDNIKI
set zarplata
= 6724
where kodsotrud=15;
UPDATE SOTRUDNIKI
set zarplata
= 9759
where kodsotrud=16;
UPDATE SOTRUDNIKI
set zarplata
= 95970
where kodsotrud=17;
UPDATE SOTRUDNIKI
set zarplata
= 94848
where kodsotrud=18;
UPDATE SOTRUDNIKI