Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД.docx
Скачиваний:
2
Добавлен:
07.09.2019
Размер:
2.33 Mб
Скачать

Реляционный способ доступа к данным. Основные сведения о языке sql. Выборка данных:

  1. Select {*|all|distinct поле1, поле2,…полеN}

*-выводит все поля которые мы укажем

Distinсt-выводит все значения без повторений

From-

  1. From тфблица1{,таблица2,…, таблица N}

Задание условий при выборке данных:

  1. SELECT {*|ALL|DISTINCT поле1, поле2,…,полеN}

  2. From таблица1{таблица2,…,таблица N}

  3. Where условие

Операторы сравнения(=,<>,<,>,<=,>=)

Например: выбрать все записи из таблицы Товары, категория которых равна 2. Отобразить все поля этой таблицы.

SELECT*

FROM товары

WHERE категория=2

Логические операторы

  1. Оператор IS NULL

Вывести ФИО, телефон, город, адрес из таблицы Клиенты тех клиентов, которые не являются предприятиями.

SELECT Фамилия, Имя, Отчество, Телефон, Город, Адрес

From клиенты

Where предприятия IS Null

  1. Оператор Between…and.

Например:

Выбрать все записи из таблицы Товары, Цена которых более 199, но меньше 2001. Отобразить все поля этой таблицы.

SELECT*

From товары

Where цена BETWEEN 200 and 2000

  1. Оператор IN

Например: вывести клиентов из беларуси или украины( только ФИО и Страну)

SELECT Фамилия, Имя, отчество, страна

From клиенты

Where(страна IN(‘Беларусь’, ‘Украина’)

  1. Оператор like

‘%’-заменяет последовательность символов

‘_’-заменяет единичный символ

Например: вывести клиентов фамилия которых начинается с буквы М(тока ФИО и телефон)

Select фамилия, имя, отчество, телефон

From клиенты

Where фамилия like ‘M%’

  1. Оператор Exists

Из таблицы товары вывести Наименование и цену тех товаров, количество продаж которых превышает 10(количество продаж отображается в таблице Продажи, которая связана с табл.Товары по коду товара)

Select Товары

From товары

Where exist (select [код товара]

From продажи

Where (продажи продано>10) and (Товары.[код товара]=продажи.[код товара]))

  1. Оператор all

  2. Например: из таблицы Товары выбрать товары которые имеют цену большую чем цена всех товаров, проданных в количестве более 10.

SELECT*

FROM товары

WHERE Цена>all(select продажи.цена

From продажи

WHERE продажи.продано>10)

  1. Операторы объединения

    1. Оператор and

Например: выбрать все записи из таблицы товары, цена которых>50, но <1000. Отобразить все поля этой таблицы.

Select*

From товары

Where (цена>50) and (цена <1000)

    1. Оператор or

Например: выбрать все записи из таблицы Товары, цена которых меньше 50 или больше 1000. Отбразить все поля этой таблицы.

Select*

From товары

Where (цена<50)or(цена>1000)

    1. Оператор отрицания not

Например: вывести всех клиентов, кроме тех, которые из беларуси или украины(только ФИО и СТРАНУ).

Select фамилия, Имя, отчество, Страна

From клиенты

Where (страна not in (‘Беларусь’, ’Украина’))

  1. Упорядочение данных.

    1. Order by

Select {*|all|distruct поле1, поле2,…,полеN}

From таблица1{,таблица2,…,таблицаN}

Where условие

Order by поле{asc|desc}

    1. Например: сортировать записи таблицы товары по алфавиту поля

Наименование(вывести только поля категория, цена, наименование)

Select наименование, категория, цена

From товары

Order by наименование или

    1. Сортировать все записи таблицы товары по убыванию цены(вывести только поля категория, цена, наименование)

Select наименование, категория, цена

From товары

Order by цена desc

Использование вычисляемых полей

Select {*|all|district поле1,поле2,…,полеN, выражение1,…,выражениеN}

From таблица1{,таблица2,…,таблицаN}

Where условие

Например подсчитать и вывести стоимость заказанного товара, стоимость проданного товара, и стоимость товара, заказанного, но ещё не проданного.

Select[код товара], цена,заказано,продано,цена*продано, цена*заказанно,цена *заказанно-цена*проданно

Математические функции

Abs-модуль

Round-округление

SQR-корень

EXP-экспонента

Log-логарифм

Sin, cjs,tan-тригонометрические функции

IIF-логическая функция

Псевдонимы полей

Select{*|all|district поле1,…,полеN, выражение1 as псевдоним 1,…,ВыражениеN as псевдоним N}

From таблица1{,таблица2,…,таблица N}

Where условие

Например: подсчитать и вывести стоимость проданного товара. Вычисляемое поле назвать сума продажи.

Select[код товара], цена, заказанно, проданно, цена*продано as[сумма продажи]

From продажи

Функции агрегирования.

Count-подсчёт записей в таблице

Min-возвращает минимальное значение в столбце

Max-возвращает максимальное значение в стобце

Sum- возвращает сумму содержащийся в столбце значений

Avg-вычисляет среднее значение для содержащихся в столбце значений.

Например: подсчитать и вывести стоимость заказанного товара, стоимость проданного товара и стоимость товара, заказанного но ещё не проданного.

Select count (продано) as [Всего записей], min(продано)as min, max (продано) as max, sum (продано)as [всего продано

From продажи