Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Операторы манипулирования данными




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

SELECT [ALL|DISTINCT]

список_полей

FROM список_таблиц

[WHERE условие_выборки]

[GROUP BY поля_группировки]

[ORDER BY поля_сортировки]

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

При указании ключевого слова ALL результирующая таблица может иметь повторяющиеся строки. Этот параметр применяется по умолчанию. Использование ключевого слова DISTINCT позволяет включать только неповторяющиеся строки. Рассмотрим пример выборки заказанных книг по разделу «Маркетинг»:

SELECT DISTINCT basket.isbn, book.name, book.authors

FROM basket, book

WHERE book.section = “Маркетинг”

В этом операторе для каждой книги для всех записей таблицы Корзина заказов происходит проверка связанной по ключевому полю isbn записи таблицы book на предмет равенства значения поля section строке “Маркетинг”, и, если это так, то ISBN-код, наименование и авторы книги попадают в результирующую таблицу запроса. Так как одна и та же книга может входить во многие заказы, то во избежание повторов в операторе SELECT указано ключевое слово DISTINCT.

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

SELECT DISTINCT basket.isbn, book.name, basket.quantity*book.price

FROM basket, book

WHERE basket.order_numb = 1623

Если же нужно вычислить полную стоимость каждого заказа, то применяется операнд GROUP BY, позволяющий сгруппировать записи по определенным полям. Для получения стоимостей каждого заказа можно применить оператор:

SELECT basket.order_numb, SUM(basket.quantity*book.price)

FROM basket, book

GROUP BY basket.order_numb

ORDER BY basket.order_numb ASC

Результатом выполнения этого оператора будет таблица, в которой строки таблицы корзины заказов сгруппированы по номеру заказа и рассчитана стоимость всех книг заказа. Оператор ORDER BY указывает, что строки таблицы должны быть упорядочены по возрастанию (ASC) номеров заказов.

Для изменения значений полей записей используется оператор UPDATE:

UPDATE имя_таблицы

SET имя_поля = выражение

[, SET имя_поля = выражение, …]

[WHERE условие]

С помощью оператора UPDATE можно изменить значения в целом ряде записей, например, оператор:

UPDATE book

SET price = price*0.9

WHERE year < 2001

уменьшает на 10% цены всех книг, выпущенных до 2001 года.

Можно изменить и значение одной записи, например, оператор:

UPDATE book

SET price = 65.80

WHERE isbn = “5-7936-0122-5”

присваивает значение новой цены одной книге.

Для ввода новых записей в таблицу используется оператор INSERT:

INSERT INTO имя_таблицы

список_имен_полей

VALUES (список_значений_полей)

Для вставки записи о новой книге нужно использовать следующий оператор INSERT:

INSERT INTO book

isbn, section, name, authors, publisher, year, price

VALUES (“5-7936-0122-5”, “Базы данных”,

“Кузнецов С.Д.”, “КОРОНА принт”, 2001, 56.50)

Список полей может быть опущен, в этом случае список значений должен соответствовать порядку указания полей в операторе создания таблицы.

Удаление записей производится оператором DELETE:

DELETE FROM имя_таблицы

[WHERE условие]

Например, при отмене заказа удаляется запись о нем в таблице order:

DELETE FROM order

WHERE order_numb = 1009

Если условие не указано, удаляются все записи таблицы.




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


Дата добавления: 2014-12-29; Просмотров: 346; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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