Примеры запросов и создания таблиц SQL
Рассмотрим учебную базу данных "Киноторговая компания".
Пояснения:
Таблица authors
zip - Почтовый индекс
state - Штат
Таблица publishers - Издатель
Таблица titles
type - Тип книги
pub_id - Идентификатор издательства
Price - Цена за один экземпляр
pales - Общее количество проданных экземпляров
pub_date - Дата публикации
contract - не равен null, если авторы подписали контракт
Таблица title_authors - Книги автора
au_orders - порядок авторов
royalty_share - доля автора в общем ганораре за книгу (занчения: от 0 до 1). Для книг с единственным авторов равно 1.
Таблица royalties - хранятся данные о процентов отчисления от продажи книги в виде авторского ганорара, выплачиваемые всем авторам.
advance - предоплата автору или авторам
royalty_rate - доля общего дохода с продажи книги, выплачиваемая в виде авторского гонорара
Задание 1. Написать SQL код создания таблицы titles с учетом связей
title_id - Char(3)
title_name - Varchar(40), обязательное поля
type - Varchar(10), обязательное поле
Задание 2. Вывести список авторов так, чтобы фамилия автора отличалась от фамилии Hart.
В столбце таблицы titles используются следующие типы книг:
1. Business
2. Mod_cook - современная кулинария
3. Popular_comp - компьютерная литература
4. Biography
5. Psychology
В таблице publishers используются следующие обозначения state: CA - Калифорния, NY - Нью Йорк, OR - Оригон.
Задние 3. Вывести название книг биографий, которые продаются по цене, меньшей 20$ за каждую.
Задние 4. Перечислить названия книг, чья цена от 10 до 19.95 включительно.
Задание 5. Перечислить авторов которые живут не в штате Нью-Йорк и не в штате Калифорния.
Задание 6. Вывести идентификаторы книг вместе с ценами, сниженными на 10%.
Задание 7. Вывести идентификаторы книг, которые являются биограифями в порядке убывания дохода от продажи (доход - это число проданных книг, умноженное на цену)
Задание 8. Вывести цену самой дешёвой книги
Пояснения:
Таблица authors
zip - Почтовый индекс
state - Штат
Таблица publishers - Издатель
Таблица titles
type - Тип книги
pub_id - Идентификатор издательства
Price - Цена за один экземпляр
pales - Общее количество проданных экземпляров
pub_date - Дата публикации
contract - не равен null, если авторы подписали контракт
Таблица title_authors - Книги автора
au_orders - порядок авторов
royalty_share - доля автора в общем ганораре за книгу (занчения: от 0 до 1). Для книг с единственным авторов равно 1.
Таблица royalties - хранятся данные о процентов отчисления от продажи книги в виде авторского ганорара, выплачиваемые всем авторам.
advance - предоплата автору или авторам
royalty_rate - доля общего дохода с продажи книги, выплачиваемая в виде авторского гонорара
Задание 1. Написать SQL код создания таблицы titles с учетом связей
title_id - Char(3)
title_name - Varchar(40), обязательное поля
type - Varchar(10), обязательное поле
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
CREATE TABLE titles | |
(Title_id Char(3) , | |
title_name Varchar(40) NOT NULL, | |
type Varchar (10) NOT NULL, | |
pub_id Char(3), | |
Constraint pr_key PRIMARY KEY(title_id), | |
Constraint fk_key FOREIGN KEY(pub_id) REFERENCE publishers(pub_id)); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SELECT au_fname, au_lname | |
FROM authors | |
WHERE au_fname<>'Hart' |
1. Business
2. Mod_cook - современная кулинария
3. Popular_comp - компьютерная литература
4. Biography
5. Psychology
В таблице publishers используются следующие обозначения state: CA - Калифорния, NY - Нью Йорк, OR - Оригон.
Задние 3. Вывести название книг биографий, которые продаются по цене, меньшей 20$ за каждую.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SELECT title_name | |
FROM title | |
WHERE (price<20) AND (type='Biography') |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SELECT title_name, price | |
FROM titles | |
WHERE (price BETWEEN 10 AND 19.95) |
Псевдонимы
Для заголовков столбцов можно применять не только значения по умолчанию, но и псевдонимы с помощью предложения AS. Следует применять псевдонимы в тех случаях, когда исходные имён столбцов не имеют никого смысла для непосвящённого.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SELECT zip AS [Postal Code] FROM auth |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SELECT title_id, price, price*0.9 AS 'New price' | |
FROM titles |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SELECT title_id, price*sales as [Profit] | |
FROM titles | |
WHERE type='Biography' | |
ORDER BY price*sales DESC |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SELECT Top 1 MIN(price) | |
FROM titles |
Комментарии
Отправить комментарий