Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Однотабличный запрос




Манипулирование данными в языке SQL.

Создание схем реляционной БД.

Для создания схемы данных применяется оператор Create schema <имя базы>

Для удаления таблиц из БД применяется оператор drop <имя таблицы>. При этом задается вариант удаления, либо cascade, либо restrict

Если использовать вариант cascade, то если удаление таблицы вызывает нарушение целостности связи, то соответствующие строки связанной таблицы так же должны быть удалены.

При использовании варианта restrict удаление таблицы блокируется, если оно может привести к нарушению целостности связи.

 

Наиболее важным оператором языка SQL является оператор выбора - Select.

Синтаксис оператора SELECT имеет следующий вид:

SELECT [ALL | DISTINCT] «список полей>|*)

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

[WHERE <Оператор-условие выборки или соединения>]

[GROUP BY <Список полей результата>]

[HAVING <Оператор-условие для группы>]

[ORDER BY <Список полей, по которым упорядочить вывод>

Здесь ключевое слово ALL означает, что в результирующий набор строк включаются все строки, удовлетворяющие условиям запроса. Значит, в результирующий набор могут попасть одинаковые строки. И это нарушение принципов теории отношений (в отличие от реляционной алгебры, где по умолчанию предполагается отсутствие дубликатов в каждом результирующем отношении). Ключевое слово DISTINCT означает, что в результирующий набор включаются только различные строки, то есть дубликаты строк результата не включаются в набор.

Символ *. (звездочка) означает, что в результирующий набор включаются все столбцы из исходных таблиц запроса.

В разделе FROM задается перечень исходных отношений (таблиц) запроса.

В разделе WHERE задаются условия отбора строк результата или условия соединения

кортежей исходных таблиц, подобно операции условного соединения в реляционной алгебре

В разделе GROUP BY задается список полей группировки.

В разделе HAVING задаются Операторы-условия, накладываемые на каждую группу.

В части ORDER BY задается список полей упорядочения результата, то есть список полей, который определяет порядок сортировки в результирующем отношении. Например, если первым полем списка будет указана Фамилия, а вторым Номер группы, то в результирующем отношении сначала будут собраны в алфавитном порядке студенты, и если найдутся однофамильцы, то они будут расположены в порядке возрастания номеров групп.

Если однотабличный запрос должен будет содержать все атрибуты исх. таблицы, то вместо списка атрибутов указывается имя атрибута (*). Пусть необходимо вывести информацию обо всех магазинах с указанием их названий и владельцев, тогда оператор select буде иметь вид:

select all Название, Владелец

from Магазин

Пусть необходимо выбрать информацию о магазинах, принадлежащих какому-либо владельцу, т.е. фамилия владельца будет являться условием выбора. Условие выбора может формироваться с использованием операторов сравнения, равно, неравно, меньше, ≤, ≥. Условия Between –между, like – похоже на, in – принадлежит, is null – не определено, exists – существует. Условия могут предваряться оператором отрицания not. Если условие выбора состоит из нескольких значений, то они соединяются логическими операторами: and и or. Пример: Выбрать информацию о магазинах, принадлежащих Культяпкину Г.Г.

select all

from Магазин

where Владелец=Культяпкин Г.Г.

Предложение group by позволяет выполнить перекомпоновку ответной (формируемой) таблицы по группам, каждая из которых имеет одинаковое значение столбца, включенное в перечень group by.После этого к формируемым группам применяют функции, указанные в операторе select и значения группы заменяются на единств. значение: сумму при указании функции sum, количество при указании функции count, минимальное значение – min максимальное значение – max и среднее значение – AVG. Поля, отбираемые в запросе group by, могут быть содержащимися в предложении group by атрибутами, общими выражениями и литерами. Ни один атрибут, не входящий в предложение group by не может перечисляться в предложении select. Такое ограничение накладывается в связи с тем, что для этих атрибутов нельзя гарантировать, что значения будут одинаковыми. Следовательно, нельзя однозначно определить значение атрибута, корректно представляющего группу. Предложение having служит для отбора среди групп. Если группа не удовлетворяет предложению having, то её кортеж не входит в результирующую таблицу. Значения, которые могут входить в предложение having те же самые, что и для предложения select.




Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 1070; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.