Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Структурована мова запитів SQL

Команда SQL – це інструкція, за допомогою якої користувач звертається до БД. Складається з однієї або більше окремих логічних частин, які називаються речення.Кожне речення починається ключовим словом, за яким слідують аргументи. У кінці запиту ставиться символ “;”, що означає готовність запиту до виконання.

Види запитів: запит на вибірку даних, запит на знищення, запит на оновлення, запит на додавання.

Для того щоб відобразити на екрані SQL-запит, необхідно визвати команду Режим SQL із меню Вид(в режимі конструктора запиту).

Запит на вибірку даних з таблиць БД починається ключовим словом SELECT,найважливіші параметри даної команди наведені в наступному списку:

SELECT Список_полів

FROM Імена_таблиць

WHERE Критерії_пошуку

IN Ім’я_бази_даних

ALL, DISTINCT, DISTINCTROW - предикати

Таблиця1 INNER JOIN Таблиця2

GROUP BY Список_полів

HAVING Критерії_пошуку

ORDER BY Список_полів;

Приклад:Запишемо один із найпростіших запитів на вибірку.

SELECT [3_Довідник проектних менеджерів].ПІБ

FROM [3_Довідник проектних менеджерів]

WHERE [3_Довідник проектних менеджерів].[Код проектного менеджера]=30;

 

Інструкція SELECT визначає поля, які підлягають обробці (будуть вилучені та представлені в якості результату запиту). Параметр FROM вказує, які таблиці вміщують дане поле (між іменами таблиць повинна стояти кома). З допомогою параметра WHERE визначаються вимоги, яким повинні відповідати вилучені записи.

При виконанні запиту в таблицях, заданих параметром FROM, знаходяться записи, які відповідають умові WHERE, а із відібраних записів відбираються поля, які перелічені в інструкції SELECT.

Наведений вище запит в якості результату виведе на екран таблицю з одним полем ПІБ,значення в якому будуть відповідати записам в таблиці Довідник проектних менеджерів, значення поля Код проектного менеджера в яких дорівнює 30.

Починаючи роботу з інструкцією SELECT необхідно мати на увазі:

- звичайно SELECT являється першою командою SQL-запиту на вибірку;

- порядок імен полів в списку відповідає порядку їх обробки і відображенню у вихідному наборі даних, між іменами полів необхідно ставити коми;

- ім’я поля або таблиці, назва якого містить пробіл, необхідно заключати в квадратні дужки;

- перед назвою поля записується назва таблиці, після якої ставиться крапка;

- в кінці запиту ставиться символ “;”.

Для того, щоб з таблиці відібрати всі поля, використовуємо символ „*”.

Приклад: Даний запит видасть на екран всю таблицю „Загальна інформація по проектам”.

SELECT [2_Загальна інформація по проектам].*

FROM [2_Загальна інформація по проектам];

 

Ключове слово FROM задається як параметр для інструкції SELECT і завжди стоїть за нею. Аргументом є список імен таблиць через кому, якщо запит відбирає дані з кількох пов’язаних таблиць, або одне ім’я таблиці.

Параметр WHERE не обов’язковий, але якщо він присутній, то повинен стояти за параметром FROM. WHERE дозволяє встановлювати умови відбору. Якщо параметр WHERE не заданий, то SQL-запит відбирає всі записи вказаних таблиць.

Якщо в умові відбору використовують значення символьних полів, вони обов’язково беруться в апострофи. Якщо умов відбору кілька, кожна з них береться в круглі дужки, а між ними ставляться логічні оператори AND (при необхідності виконання умов одночасно) або OR (при необхідності виконання хоча б однієї з умов).

Умова відбору може містити:

1. Реляційні оператори (оператори відношення):

<, >, =, <= (менше або дорівнює), >= (більше або дорівнює), <> (не дорівнює).

Приклад: Вивести інформацію про проектних менеджерів, ставка яких за рік перевищує 12000грн.

SELECT [3_Довідник проектних менеджерів].[Код проектного менеджера], [3_Довідник проектних менеджерів].ПІБ, [3_Довідник проектних менеджерів].[Наявність міжнародного сертифікату], [3_Довідник проектних менеджерів].[Ставка за рік (грн)]

FROM [3_Довідник проектних менеджерів]

WHERE [3_Довідник проектних менеджерів].[Ставка за рік (грн)]>12000;

 

2. Логічні оператори:

AND –і, OR –або, NOT –ні.

3. Спеціальні оператори:

IN– визначає набір значень, в який конкретне значення поля може або не може бути включене.

Приклад: Знайти працівників, у яких стаж 5 або 8 років.

SELECT [8_Довідник тр_ресурсів організації].ПІБ, [8_Довідник тр_ресурсів організації].[Стаж]

FROM [8_Довідник тр_ресурсів організації]

WHERE [8_Довідник тр_ресурсів організації].[Стаж] IN (5,8);

 

Приклад: Знайти проекти, у яких директивна дата початку 01.01.2005р. або 01.03.2005р.

SELECT [5_Характеристики проектів].[Код проекта], [5_Характеристики проектів].[Назва проекта], [5_Характеристики проектів].[Директивна дата початку]

FROM [5_Характеристики проектів]

WHERE [5_Характеристики проектів].[Директивна дата початку] IN (#01/01/2005#, #03/01/2005#);

 

Параметр BETWEEN– визначає діапазон значень поля, при цьому значення меж включаються.

Приклад: Знайти проекти, у яких директивна дата початку знаходиться в межах від 01.01.2005р. до 01.03.2005р.

SELECT [5_Характеристики проектів].[Код проекта], [5_Характеристики проектів].[Назва проекта], [5_Характеристики проектів].[Директивна дата початку]

FROM [5_Характеристики проектів]

WHERE [5_Характеристики проектів].[Директивна дата початку] BETWEEN #01/01/2005# AND #03/01/2005#;

 

Параметр LIKE – використовується з текстовими полями, означає „подібний” (використовується при порівнянні значення текстового поля з конкретним значенням).

Приклад: Які коди мають проекти з назвами: “Колекція одягу осінь-2005” та “Колекція дитячого одягу”?

SELECT [5_Характеристики проектів].[Код проекта], [5_Характеристики проектів].[Назва проекта]

FROM [5_Характеристики проектів]

WHERE ([5_Характеристики проектів].[Назва проекта] LIKE ‘Колекція одягу осінь-2005’) OR ([5_Характеристики проектів] ].[Назва проекта] LIKE ‘Колекція дитячого одягу’);

 

Для узагальнення даних в операторі SELECT використовуються агрегатні (групові) функції:

- MIN – найменше із усіх обраних значень даного поля;

- MAX – найбільше із усіх обраних значень даного поля;

- SUM – арифметична сума всіх обраних значень даного поля;

- AVG – середнє арифметичне значення всіх обраних значень даного поля;

- COUNT – лічильник, визначає кількість записів таблиці.

 

В разі необхідності застосування групової функції не до всієї таблиці, а до окремих її груп, застосовується оператор GROUP BY – групує всі записи таблиці по зазначеній ознаці. При цьому:

- GROUP BY використовують тільки разом з агрегатною функцією;

- поля, по яким групуються записи, обов’язково повинні виводитися в операторі SELECT.

 

Приклад: Для кожного проекту знайти загальну кількість обладнання, яке є в організації.

SELECT [12_Ресурси робіт проектів].[Код проекта], SUM([11_Довідник обладнання техустаткування].[Кількість в організації]) AS [Загальна кількість обладнання]

FROM [11_Довідник обладнання техустаткування] INNER JOIN [12_Ресурси робіт проектів] ON [11_Довідник обладнання техустаткування].[Код обладнання] = [12_Ресурси робіт проектів].[Код обладнання]

GROUP BY [12_Ресурси робіт проектів].[Код проекта];

 

Для виведення результату запиту на вибірку на екран у визначеному порядку використовується оператор ORDER BY- впорядковує записи, що відбираються, за вказаним полем. За замовчуванням відбувається впорядкування за збільшенням (можна вказати ключ ASC після імені поля). В разі впорядкування по зменшенню вказується ключ DESC після імені поля.

Приклад: Впорядкувати список робітників з таблиці “Довідник трудових ресурсів організації” за стажем роботи.

SELECT *

FROM [8_Довідник тр_ ресурсів організації]

ORDER BY [Стаж] DESC;

HAVING– необов’язковий параметр, але якщо він заданий, то повинен іти за параметром GROUP BY. У параметра HAVINGті ж самі функції, що й у параметра WHERE, але область їх дії обмежена вихідним набором. WHERE визначає записи, які повинні бути відібрані. HAVINGвстановлює, які записи, згруповані з допомогою параметру GROUP BY, повинні відображатися на екрані в результаті виконання запиту.

 

Приклад:Знайти проекти, для яких кількість видів використаних матеріалів перевищує 3.

SELECT [12_Ресурси робіт проектів].[Код проекта], COUNT([12_Ресурси робіт проектів].[Код матеріалу]) AS [Кількість видів матеріалів]

FROM [12_Ресурси робіт проектів]

GROUP BY [12_Ресурси робіт проектів].[Код проекта]

HAVING COUNT([12_Ресурси робіт проектів].[Код матеріалу])>3;

 

Запит на вибірку до кількох пов’язаних таблиць дозволяє вибрати дані з різних таблиць БД і вивести їх в одній результуючий таблиці. Подібний запит формується двома способами:

1. SELECT список полів з різних таблиць

FROM Табл1 INNER JOIN Табл2 ON умова об’єднання;

2. SELECT список полів з різних таблиць

FROM Табл1, Табл2

WHERE умова об’єднання;

Зауваження:

1. В пропозиції WHERE можуть бути ще вказані умови відбору.

2. Умова об’єднання вказує, по яким полям пов’язані таблиці.

3. В списку полів поля вказуються через кому.

 

Приклад: Визначити код типу портфеля, його назву, проектного менеджера, та його ставку за рік, за умови, що ставка повинна бути в межах від 10000 до 20000 грн., а прізвища проектних менеджерів мають бути відсортовані в алфавітному порядку.

 

SELECT [1_Довідник - типи портфелів].[Код типу портфеля], [1_Довідник - типи портфелів].[Назва типу портфеля], [3_Довідник проектних менеджерів].[Код проектного менеджера], [3_Довідник проектних менеджерів].ПІБ, [3_Довідник проектних менеджерів].[Ставка за рік (грн)]

FROM [3_Довідник проектних менеджерів] INNER JOIN ([1_Довідник - типи портфелів] INNER JOIN [4_Професійна направленість ПМ] ON [1_Довідник - типи портфелів].[Код типу портфеля] = [4_Професійна направленість ПМ].[Код типу портфеля]) ON [3_Довідник проектних менеджерів].[Код проектного менеджера] = [4_Професійна направленість ПМ].[Код проектного менеджера]

WHERE [3_Довідник проектних менеджерів].[Ставка за рік (грн)] Between 10000 And 20000

ORDER BY [3_Довідник проектних менеджерів].ПІБ;

 

Запит на знищення записів в таблиці починається оператором DELETE.

 

DELETE FROM ім’я таблиці; - знищуються всі записи таблиці.

DELETE * FROM ім’я таблиці; - знищуються всі записи таблиці.

DELETE FROM ім’я таблиці WHERE умова видалення; - знищуються записи таблиці, що задовольняють умові знищення.

 

Приклад:Видалити проектних менеджерів, які не мають міжнародного сертифікату

DELETE *

FROM [3_Довідник проектних менеджерів]

WHERE [3_Довідник проектних менеджерів].[Наявність міжнародного сертифікату] LIKE ‘-’;

 

Для оновлення записів таблиці використовується оператор UPDATE.

 

UPDATE ім’я таблиці

SET ім’я поля 1=значення1, ім’я поля 2=значення2; - дані редагуються в усіх записах таблиці, при цьому у вказаних полях значення змінюються на задані в запиті. Якщо значення текстове, береться в апострофи.

 

UPDATE ім’я таблиці

SET поле 1=значення 1, ... ,поле n=значення n

WHERE умова відновлення; - редагуються записи, що задовольняють умові оновлення.

 

Приклад: Замінити прізвище проектного менеджера на ‘Калініна A.O.’, якщо його код 50.

UPDATE [3_Довідник проектних менеджерів]

SET [3_Довідник проектних менеджерів].ПІБ='Калініна А.О.'

WHERE [3_Довідник проектних менеджерів].[Код проектного менеджера]=50;

 

Для додавання записів в таблицю використовується оператор INSERT INTO.

INSERT INTO ім’я таблиці (поле 1, поле 2, ... , поле n)

VALUES (значення 1, значення 2, ... , значення n); - додавання одного запису у вказану таблицю із вказаними значеннями полів.

 

INSERT INTO ім’я таблиці-призначення

SELECT список полів FROM ім’я таблиці-джерела; - додавання всіх записів таблиці-джерела в таблицю-призначення.

 

INSERT INTO ім’я таблиці-призначення

SELECT список полів FROM ім’я таблиці-джерела

WHERE умова відбору; - додавання записів таблиці-джерела, що відповідають умові відбору, в таблицю-призначення.

 


Читайте також:

  1. Аналіз бюджетних запитів і розробка проекту Державного бюджету України.
  2. Економіка як складна різноманітно структурована система є
  3. Основні види запитів
  4. Поняття запиту, типи запитів
  5. Поняття та створення запитів
  6. Приклади запитів
  7. Приклади запитів
  8. Проведення досліджень в Інтернет на основі аналізу пошукових запитів користувачів.
  9. Робота з таблицею «Види запитів»
  10. Розділ 8. Створення запитів
  11. Ситуація 6. Розсилка запитів продавцям
  12. Співвідношення реляційної алгебри та структурованої мови запитів




Переглядів: 1347

<== попередня сторінка | наступна сторінка ==>
СУБД Microsoft Access | Створення форм

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.029 сек.