2.2 Створення уявлень
Скрипт створення уявлення «V_ASDF»
CREATE VIEW V_ASDF(
ID,
STRANA,
KOORDINATU,
GENEZIS,
GOD_OTKRUTIYA,
NACH_DOBUCHI,
NAVANIE)
AS
SELECT ID, STRANA, N_PASPORTA, GENEZIS, GOD_OTKRUTIYA, NACH_DOBUCHI, ISKOPAEMOE.NAZVANIE
FROM MESTOROZDENIE, ISKOPAEMOE
WHERE MESTOROZDENIE.ID = ISKOPAEMOE.N_MESTOROZDENIYA;
Рисунок 5 – Результат виконання скрипта створення уявлення «V_ASDF»
Скрипт створення уявлення «V_ISKOPAEMOE»:
CREATE VIEW V_ISKOPAEMOE(
ID,
NAZVANIE,
ZAPASU,
RESYRSU,
N_MESTOROZDENIYA)
AS
SELECT ID, NAZVANIE, ZAPASU, RESYRSU, N_MESTOROZDENIYA
FROM ISKOPAEMOE;
Рисунок 6 – Результат виконання скрипта створення
уявлення «V_ISKOPAEMOE»
Скрипт створення уявлення «V_MESTOROZDENIE»:
CREATE VIEW V_MESTOROZDENIE(
ID,
STRANA,
N_PASPORTA,
GENEZIS,
GOD_OTKRUTIYA,
NACH_DOBUCHI)
AS
SELECT ID, STRANA, N_PASPORTA, GENEZIS, GOD_OTKRUTIYA, NACH_DOBUCHI
FROM MESTOROZDENIE;
Рисунок 7 – Результат виконання скрипта створення
уявлення «V_MESTOROZDENIE»
Скрипт створення уявлення «V_ROBOTA»:
CREATE VIEW V_ROBOTA(
ID,
VID_ROBOTU,
GOD_NACHALA,
GOD_OKONCHANIYA,
STOIMOST)
AS
SELECT *
FROM ROBOTA;
Рисунок 8 – Результат виконання скрипта створення
уявлення «V_ROBOTA(»
Скрипт створення уявлення «V_RYDA»:
CREATE VIEW V_RYDA(
ID,
NAZVANIE,
ZAPAS_RYDU,
RESYRSU,
SIO2,
AL2O3,
FE2O3,
MGO,
NA2O,
F,
CL)
AS
SELECT ID, NAZVANIE, ZAPAS_RYDU, RESYRSU, SIO2, AL2O3, FE2O3, MGO, NA2O, F, CL
FROM RYDA;
Рисунок 9 – Результат виконання скрипта створення
уявлення «V_RYDA»
Скрипт створення уявлення «V_ZAK_ROB»:
CREATE VIEW V_ZAK_ROB(
ID,
VID_ROBOTU,
GOD_NACHALA,
GOD_OKONCHANIYA,
STOIMOST)
AS
SELECT *
FROM ROBOTA
WHERE GOD_OKONCHANIYA < 2009;
Рисунок 10 – Результат виконання скрипта створення
уявлення «V_ZAK_ROB»
Скрипт створення уявлення «V_ZXCV»:
CREATE VIEW V_ZXCV(
ID,
NAZVANIE_RYDU,
RESYRSU,
ED_IZMERENIYA,
N_RYDU)
AS
SELECT ID, NAZVANIE, RESYRSU, ED_IZMERENIYA, N_RYDU
FROM RYDA
INNER JOIN ISKOPAEMOE ON (RYDA.ID = ISKOPAEMOE.N_RYDU);
Рисунок 10 – Результат виконання скрипта створення
уявлення «V_ZXCV»
2.3 Запити з сортуванням, групуванням та агрегатними функціями
Команда SELECT призначена для вибірки даних з однієї чи декількох таблиць, або представлень.
Вимоги до використання:
Для вибірки даних з таблиці користувача, таблиця повинна знаходитися в схемі цього користувача, чи користувач повинен мати привілей SELECT на таблицю.
Для вибірки рядків з базової таблиці представлення власник схеми, що містить представлення, повинен мати привілей SELECT на базові таблиці. Також, якщо представлення знаходиться в схемі іншого користувача, то для його перегляду необхідно мати привілей SELECT на представлення.
Скрипт запиту сортуванням:
SELECT VID_ROBOTU, GOD_NACHALA
FROM ROBOTA
ORDER BY VID_ROBOTU DESC
Рисунок 11 – Результат виконання запиту сортування, який виводить поля з таблиці «ROBOTA» сортуючи їх по полю «VID_ROBOTU»
Скрипт запиту вибору за маскою:
SELECT VID_ROBOTU, GOD_NACHALA,STOIMOST
FROM ROBOTA
WHERE VID_ROBOTU STARTING 'Разведка'
Рисунок 12 – Результат виконання запита вибору за маскою, що виводить всі поля в яких значення поля «VID_ROBOTU» починається зі слова «Разведка».
Скрипт запиту агрегатної функції COUNT:
SELECT COUNT (NAZVANIE)
FROM RYDA
Рисунок 13 – Результат виконання запиту агрегатної функції COUNT, яка виводить кількість записів в таблиці «RYDA» з колонки «NAZVANIE»
Скрипт запиту агрегатної функції SUM:
SELECT SUM (STOIMOST)
FROM ROBOTA
WHERE ((VID_ROBOTU < > 'Разведка захоронений' ) AND ( VID_ROBOTU < > 'Разведка новых територий'))
Рисунок 14 – Результат виконання запиту агрегатнї функції SUM,
яка сумує значення в полі STOIMOST в таблиці ROBOTA
Скрипт запиту агрегатної функції MIN:
SELECT MIN (STOIMOST)
FROM ROBOTA
Рисунок 15 – Результат виконання запиту агрегатнї функції MIN,
яка виводить мінімальне значення даних в полі STOIMOST
Скрипт запиту агрегатної функції MАХ:
SELECT MAX (GOD_OKONCHANIYA)
FROM ROBOTA
Рисунок 16 – Результат виконання запиту агрегатнї функції MАХ,
яка виводить максимальне значення даних в полі GOD_OKONCHANIYA
Скрипт запиту з умовою:
SELECT *
FROM RYDA
WHERE RESYRSU = 'Р1';
Рисунок 17 – Результат виконання запиту з умовою WHERE,
яка виводить назви руд, ресурси яких дорівнюють Р1
Скрипт запиту з умовою:
SELECT NAZVANIE,ZAPASU,RESYRSU
FROM ISKOPAEMOE
WHERE (NAZVANIE IN ('Железо','Оксид алюминия'))
Рисунок 18 – Результат виконання запита з умовою , що виводить поля «NAZVANIE,ZAPASU,RESYRSU» з таблиці ISKOPAEMOE, коли поле NAZVANIE дорівнює значенню «Железо» або «Оксид алюминия»
Скрипт запиту з умовою:
SELECT VID_ROBOTU, GOD_NACHALA,STOIMOST
FROM ROBOTA
WHERE (STOIMOST BETWEEN 100000 AND 10000000)
ORDER BY VID_ROBOTU
Рисунок 19 – Результат виконання запита з умовою, що виводить поля «VID_ROBOTU, GOD_NACHALA,STOIMOST» з таблиці ROBOTA, коли значення в полі STOIMOST входить в діапазон від 100000 до 10000000
Скрипт запиту групування за умовою:
SELECT ID, NAZVANIE, RESYRSU, ED_IZMERENIYA, N_RYDU
FROM RYDA
INNER JOIN ISKOPAEMOE ON (RYDA.ID = ISKOPAEMOE.N_RYDU);
Рисунок 20 – Результат виконання запита групування за умовою, що виводить поля «ID, NAZVANIE, RESYRSU, ED_IZMERENIYA, N_RYDU» з таблиці RYDA, коли значення в полі «RYDA.ID» дорівню значенню в полі «ISKOPAEMOE.N_RYDU»
