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

12. Создание таблиц посредством create table. Определение ограничений целостности not null, defoult, check, primary key, foreign key.

Создание таблиц выполняется с помощью команды CREATE TABLE

CREATE TABLE <TABLE-NAME>

( <COLUMN name> <DATA type>[(<SIZE>)],

<COLUMN name> <DATA type> [(<SIZE>)] ... );

Создать таблицу P, с информацией о поставщиках

CREATE TABLE P

(pnum int, pname char(10))

При создании таблиц могут быть введены определения на вводимые значения. При этом при попытке ввода несовместимых данных будет выведена ошибка. По своей сути ограничения могут быть на один столбец и на неск. столбцов.

Ограничение на один столбец указывается после типа данных в объявлении столбца. Ограничения на несколько столбцов(всю таблицу), указываются после объявления последнего столбца таблицы.

Типы ограничений:

  1. NOT NULL

Запрещает ввод NULL значения. Такое ограничение может быть задано только на один столбец.

(pnum int NOT NULL, pnum char(20) NOT NULL)

  1. DEFOULT

Ограничение умолчания. Задается только как ограничение на столбец.

dprice money DEFOULT 0

  1. CHECK

Ограничение этого типа задает множество значений атрибутов. Может быть задано как на столбец, так и на всю таблицу.

dprice money CHECK (dprice<50)

dname char(20) CHECK (dname like [A-Я, а-я]%

  1. PRIMARY KEY

Это специальный случай комбинации NOT NULL и UNIQUE. Простой первичный ключ задается ограничением на один столбец.

CREATE TABLE P

(pnum int PRIMARY KEY, pname char(10) not NULL UNIQUE)

  1. FOREIGN KEY

Ограничение внешних ключей определяется в начальной таблице и определяет ее связь с родительской.

CREATE TABLE PD

(pnum int,

dnum int,

volume int not null)

CONSTRAINT PK_PD

PRIMARY KEY (pnum, dnum)

CONSTRAINT FK_PD_P

FOREIGN KEY pnum REFERENCES P(pnum)

CONSTRAINT FK_PD_D

FOREIGN key clnum REFERENCES D(dnum)

13. Выборка данных с помощью оператора select. Использование агрегатных функций в операторе select.

Этот оператор позволяет производить выборку данных из таблиц и преобразовывать к нужному виду полученные результаты. Результатом выполнения оператора SELECT является таблица, к этой таблице вновь может быть применен оператор SELECT, таким образом запросы могут быть вложенными.

Синтаксис

SELECT <список столбцов>

FROM<список таблиц>

[WHERE<условия выбора строк>]

[GROUP BY<условия группировки строк>]

[HAVING<условия выбора групп>]

[ODER BY<условия сортировки>]

В предложении SELECT перечисляются столбцы, значения которых будут входить в результирующую таблицу. Столбцы размещаются в том же порядке в котором они указаны в SELECT. Если имя столбца содержит разделители, то оно записывается в квадратных скобках. Если столбцы разных таблиц имеют одинаковые имена то такие имена записываются как составные:

<имя таблицы>.<имя столбца>

В предложении FROM перечисляются имена таблиц которые содержат столбцы указанные в предложении SELECT.

Получить всю информацию о деталях

SELECT dnum, dname, dprice

FROM D

Список всех столбцов заменяет символ *

После служебного слова WHERE указывается условия выбора строк помещаемых в результирующую таблицу, могут быть указаны различные типы условий:

<,>,<=,>=,=,<>, OR, AND

Получить информацию о поставщиках иванов и петров.

SELECT *

FROM P

WHERE pname = ‘Иванов’ OR pname=’Петров’

Проверка на принадлежность множеству выполняется с помощью операции IN

WHERE pname IN (‘Иванов’’Петров’)

Проверка на принадлежность диапазону BETWEEN. Операция определяет max и min границы диапазона в который должно попасть значение. Обе границы считаются принадлежащими диапазону.

Вывести информацию о деталях от 10 до 20р.

SELECT*

FROM D

WHERE dprice BETWEEN 10 AND 20

Использование агрегатных функций.

SELECT может иметь агрегатные функции которые дают единственное значение для целой группы строк таблицы.

Агрегатная функция записывается в виде:

<имя функции>(<имя столбца>)

Используются следующие функции:

  • SUM – возвращает сумму значений столбца

  • MIN – возвращает минимальное значение

  • MAX – возвращает максимальное значение

  • FIRST – возвращает первое значение в столбце

  • LAST – возвращает последнее значение в столбце

  • COUNT – возвращает количество значений в столбце

  • AVG – возвращает среднее значение

Пример

Вывести общее количество поставляемых деталей.

SELECT SUM(volume) as sum

FROM PD

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]