Основи створення SQL-запиті в Access.
Тема: " Основи створення 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 (((Облік.Матеріал)="Шифер"));