Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Объединение, пересечение, исключение
Эти операции вычисляют объединение, пересечение и теоретико-множественное вычитание кортежей из двух подзапросов. Следующий запрос - пример для UNION(объединение): SELECT S.SNO, S.SNAME, S.CITY FROM SUPPLIER S WHERE S.SNAME = 'Jones' UNION SELECT S.SNO, S.SNAME, S.CITY FROM SUPPLIER S WHERE S.SNAME = 'Adams';даёт результат: SNO | SNAME | CITY -----+-------+-------- 2 | Jones | Paris 3 | Adams | Vienna Вот пример для INTERSECT(пересечение): SELECT S.SNO, S.SNAME, S.CITY FROM SUPPLIER S WHERE S.SNO > 1 INTERSECT SELECT S.SNO, S.SNAME, S.CITY FROM SUPPLIER S WHERE S.SNO > 2;даёт результат: SNO | SNAME | CITY -----+-------+-------- 2 | Jones | ParisВозвращаются только те кортежи, которые есть в обоих частях запросаи имеют $SNO=2$.Наконец, пример для EXCEPT(исключение): SELECT S.SNO, S.SNAME, S.CITY FROM SUPPLIER S WHERE S.SNO > 1 EXCEPT SELECT S.SNO, S.SNAME, S.CITY FROM SUPPLIER S WHERE S.SNO > 3;даёт результат: SNO | SNAME | CITY -----+-------+-------- 2 | Jones | Paris 3 | Adams | ViennaОпределение данных Существует набор команд, использующихся для определения данных, включенных в язык SQL. Создание таблицы Самая основная команда определения данных - это та, которая создаёт новое отношение (новую таблицу). Синтаксис команды CREATE TABLE: CREATE TABLE table_name ( name_of_attr_1 type_of_attr_1 [, name_of_attr_2 type_of_attr_2 [,...]]);Для создания таблиц, определённых в Базе данных поставщиков и деталей, используются следующие SQL выражения: CREATE TABLE SUPPLIER (SNO INTEGER, SNAME VARCHAR(20), CITY VARCHAR(20)); CREATE TABLE PART (PNO INTEGER, PNAME VARCHAR(20), PRICE DECIMAL(4, 2)); CREATE TABLE SELLS (SNO INTEGER, PNO INTEGER);Типы данных SQL Вот список некоторых типов данных, которые поддерживает SQL: · INTEGER: знаковое полнословное двоичное целое (31 бит для представления данных). · SMALLINT: знаковое полсловное двоичное целое (15 бит для представления данных). · DECIMAL ( p [, q ]): знаковое упакованное десятичное число с p знаками представления данных, с возможным q знаками справа от десятичной точки. (15 ≥ p ≥ q q ≥ 0). Если q опущено, то предполагается что оно равно 0. · FLOAT: знаковое двусловное число с плавающей точкой. · CHAR( n ): символьная строка с постоянной длиной n . · VARCHAR( n ): символьная строка с изменяемой длиной, максимальная длина n . Создание индекса Индексы используются для ускорения доступа к отношению. Если отношение R проиндексировано по атрибуту A, то мы можем получить все кортежи t имеющие t (A) = a за время приблизительно пропорциональное числу таких кортежей t , в отличие от времени, пропорциональному размеру R. Для создания индекса в SQL используется команда CREATE INDEX. Синтаксис: CREATE INDEX index_name ON table_name ( name_of_attribute );Для создания индекса с именем I по атрибуту SNAME отношения SUPPLIER используем следующее выражение: CREATE INDEX I ON SUPPLIER (SNAME);Созданный индекс обслуживается автоматически, т.е. при вставке ново кортежа в отношение SUPPLIER, индекс I будет перестроен. Заметим, что пользователь может ощутить изменения в при существовании индекса только по увеличению скорости. Date: 2016-05-25; view: 468; Нарушение авторских прав |