Тема: " Основи створення SQL-запитів у СКБД Access".

 

SQL"Мова структурованих запитів". Це специфічна мова для опрацювання інформації реляційних баз даних.

Інструкція SQL складається з кількох частин, які називаються пропозиціями. Кожна пропозиція в інструкції SQL має призначення. Деякі пропозиції є обов'язковими. У наведеній нижче таблиці вказані пропозиції SQL, які найчастіше використовуються.

Пропозиція SELECT – визначає поля, що містять потрібні дані. Вона є обов'язковою.

Пропозиція FROM – визначає таблиці, що містять поля, зазначені у пропозиції SELECT.

WHERE – визначає умови відбору полів, яким мають відповідати всі записи, що включаються до результатів.

ORDER BY – визначає порядок сортування результатів.

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

HAVING - в  інструкції SQL, яка містить статистичні функції, визначає умови, що застосовуються до полів, для яких у пропозиції SELECT обчислюється зведене (сводное)  значення.

Предікати (тоб то, умови)  які задають порядок сортування - ASC (на зростання) та DESC (на збивання).

 

            Команда вибору інформації  SELECT           

     

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

      FROM  джерело даних

      WHERE  умова вибору

      GROUP BY умова групування

      HAVING умова відображення  згрупованих записів

      ORDER BY порядок сортування

Для задання порядку сортування існує два предікати - ASC (на зростання)  та  DESC (на збивання)

Для звертання до певного поля таблиці слід спочатку вказувати ім'я таблиці і через крапку від нього задавати ім'я поля. Ім'я поля береться при цьому у квадратні дужки. 

Жирним шрифтом виділені зарезервовані слова мови SQL

 SELECT Таблица1.[Прізвище], Таблица1.[Ім'я], Таблица1.[Код професії], Таблица1.[Кількість днів]

           FROM Таблица1

           WHERE (((Таблица1.[Код професії])=[Задайте код професії]) AND ((Таблица1.[Кількість днів])>10))

           ORDER BY Таблица1.[Прізвище] ASC, Таблица1.[Кількість днів] DESC;

 

 SELECT Таблица1.[Прізвище], Таблица1.[Ім'я], Таблица1.[Код професії], Таблица1.[Кількість днів]

         FROM Таблица1

         GROUP BY Таблица1.[Прізвище], Таблица1.[Ім'я],Таблица1.Кількість днів]

         HAVING (((Таблица1.[Код професії])=[Задайте код професії]) AND ((Таблица1.[Кількість днів])>10))

         ORDER BY Таблица1.[Прізвище] ASC, Таблица1.[Кількість днів] DESC;

 

SELECT Таблица1.[Прізвище], Таблица1.[Ім'я], Таблица1.[Зарплата]

         FROM Таблица1

          GROUP BY Прізвище

           HAVING  SUM(Зарплата)>10)

 

Обчислювальні поля створюються за допомогою слова AS:

              Кількість днів*Ставка за день AS Зарплата

 Приклад створення обчислювального поля Зарплата

SELECT Таблица1.[Прізвище], Таблица1.[Ім'я], [Таблица1]![Кількість днів]*[Таблица1]![Ставка за день] AS Зарплата

        FROM Таблица1

        ORDER BY Таблица1.[Прізвище];

 

Зв'язок між таблицями створюється за допомогою виразів INNER JOIN та  ON

При цьому INNER JOIN вказує між якими таблицями слід встановити зв'язок,

SELECT Облік.[№_складу], Довідник.[Назва складу], Облік.[Дата надходження], Облік.Матеріал, Облік.Кількість,                                                                Облік.[Ціна], [Облік]![Кількість]*[Облік]![Ціна] AS [Загальна вартість]

        FROM Облік INNER JOIN Довідник ON Облік.№_складу = Справочник.№_складу;

 

Створення нової таблиці – інструкція SELECT …..  INTO

 

SELECT Довідник.№_складу, Довідник.[Назва складу] INTO НоваТаб

        FROM Довідник;

 

 

Знищення певних записів таблиці - інструкція DELETE

DELETE Дата надходження, №_складу, Матеріал, Облік.Кількість, Ціна

    FROM Облік

    WHERE (((Облік.№_складу)="Склад КПТ"));

 

Знищення певної  таблиці - інструкція  DROP  TABEL

 DROP TABEL Співробітники;

 

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

 

INSERT INTO [Другий довідник]

    SELECT № складу, Назва складу

    FROM Довідник;

 

Оновлення даних – інструкція UPDATE

 

UPDATE Облік INNER JOIN Справочник ON Облік.№_складу = Справочник.№_складу SET Облік.Ціна = [Ціна]*2

WHERE (((Облік.Матеріал)="Шифер"));

 

 

Остання зміна: неділя 31 жовтня 2021 00:35 AM