Примеры запросов и создания таблиц 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), обязательное поле
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));
Задание 2. Вывести список авторов так, чтобы фамилия автора отличалась от фамилии Hart.
SELECT au_fname, au_lname
FROM authors
WHERE au_fname<>'Hart'
view raw SelectFname.sql hosted with ❤ by GitHub
В столбце таблицы titles используются следующие типы книг:
 1. Business
 2. Mod_cook - современная кулинария
 3. Popular_comp - компьютерная литература
 4. Biography
 5. Psychology
В таблице publishers используются следующие обозначения state: CA - Калифорния, NY - Нью Йорк, OR - Оригон.
Задние 3. Вывести название книг биографий, которые продаются по цене, меньшей 20$ за каждую.
SELECT title_name
FROM title
WHERE (price<20) AND (type='Biography')
view raw Selecttname.sql hosted with ❤ by GitHub
Задние 4. Перечислить названия книг, чья цена от 10 до 19.95 включительно.
SELECT title_name, price
FROM titles
WHERE (price BETWEEN 10 AND 19.95)
Задание 5. Перечислить авторов которые живут не в штате Нью-Йорк и не в штате Калифорния.
SELECT au_fname, au_lname, state
FROM authors
WHERE state NOT IN('NY', 'CA')

Псевдонимы

Для заголовков столбцов можно применять не только значения по умолчанию, но и псевдонимы с помощью предложения AS. Следует применять псевдонимы в тех случаях, когда исходные имён столбцов не имеют никого смысла для непосвящённого.
SELECT zip AS [Postal Code] FROM auth
view raw ExampleAs.sql hosted with ❤ by GitHub
Задание 6. Вывести идентификаторы книг вместе с ценами, сниженными на 10%.
SELECT title_id, price, price*0.9 AS 'New price'
FROM titles
view raw NewPrice.sql hosted with ❤ by GitHub
Задание 7. Вывести идентификаторы книг, которые являются биограифями в порядке убывания дохода от продажи (доход - это число проданных книг, умноженное на цену)
SELECT title_id, price*sales as [Profit]
FROM titles
WHERE type='Biography'
ORDER BY price*sales DESC
view raw Idbook.sql hosted with ❤ by GitHub
Задание 8. Вывести цену самой дешёвой книги
SELECT Top 1 MIN(price)
FROM titles
view raw Book.sql hosted with ❤ by GitHub

Комментарии

Популярные сообщения