Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Примеры использования аппарата запросов




Пусть даны БД, представляющие информацию о книгах, хранящихся в библиотеке, представляют следующие таблицы: Authers (информация об авторах), Books (информация о книгах), Publ (информация об издательствах), Country (справочник стран), TypeBook(справочник направлений литературных произведений, например, поэзия, проза, критика и т.д.).

 

Структура таблиц следующая.

 

Authers

 

Наименование поля Тип Примечание
Id S* Код автора
Fio A 60 Фамилия, имя, отчество автора
Date_Birth D Дата рождения
Date_Dearth D Дата смерти
Id_Country S Код страны проживания

 

Books

 

Наименование поля Тип Примечание
Id_Aut S* Код автора
Id S* Код книги
Name A 255 Название книги
Id_Publ S Код издательства
Id_Type S Код литературного направления
Year_Publ S Год издания
Pages_Book S Кол-во страниц
Number S Тираж

 

Publ

 

Наименование поля Тип Примечание
Id S* Код издательства
Name A 60 Название издательства
Id_Country S Код страны

 

 

Country

 

Наименование поля Тип Примечание
Id S* Код страны
Name A 60 Название страны

 

TypeBook

 

Наименование поля Тип Примечание
Id S* Код типа произведения
Name A 60 Название типа

 

Сформируем запросы.

 

Список всех авторов по алфавиту, книги которых имеются в библиотеке.

SELECT fio

FROM authers

ORDER BY fio

 

Список всех авторов по алфавиту, книги которых имеются в библиотеке с указанием количества книг.

 

SELECT a.fio, COUNT(b.id)

FROM authers a, books b

WHERE (a.id=b.id_aut)

GROUP BY a.fio

ORDER BY fio

Список всех авторов по алфавиту, у которых книги выходили в заданном издательстве.

 

SELECT DISTINCT a.fio

FROM authers a, publ p,books b

WHERE (a.id=b.id_aut) AND(b.id_publ=p.id) AND (p.name= 'САМОЕ ХОРОШЕЕ ИЗДАТЕЛЬСТВО' )

ORDER BY fio

Список всех книг, опубликованных в заданном году с указанием автора и издательства, упорядоченный по наименованию издательства, затем по фамилии автора и наименованию книги

 

SELECT p.name, a.fio, b.name

FROM authers a, publ p, books b

WHERE (b.id_publ=p.id) AND (b.id_aut=a.id) AND (b.year_publ=2001)

ORDER BY p.name, a.fio, b.name

Все книги данного автора, опубликованные после указанного года

SELECT b.name

FROM authers a, books b

WHERE (b.id_aut=a.id) AND (a.fio='Иванов Иван Иванович') AND (b.year_publ>1975)

ORDER BY b.name

 

6. Максимальный тираж по издательствам в заданном году

 

SELECT p.name, MAX(b.number)

FROM publ p, books b

WHERE (b.id_publ=p.id) AND (b.year_publ=2001)

GROUP BY p.name

ORDER BY p.name

Суммарный тираж в страницах за заданный год заданного издательства

 

SELECT SUM(b.pages_book)

FROM publ p, books b

WHERE (b.id_publ=p.id) AND (b.year_publ=2001) AND (p.name='Несчастный случай')

 

 


Поделиться:

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





lektsii.com - Лекции.Ком - 2014-2024 год. (0.005 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты