Читаем SQL: быстрое погружение полностью

invoices

GROUP BY

BillingCity

ORDER BY

BillingCity

Вопрос 3. Сохраните этот новый запрос как представление с именем V_CityAvgVsGlobalAvg.

Решение. Копируем код из вопроса 2 и в верхнюю часть запроса добавляем оператор CREATEVIEW.

CREATE VIEW V_CityAvgVsGlobalAvg AS

SELECT

BillingCity,

AVG(Total) AS [City Average],

(select

*

from

V_GlobalAverage) AS [Global Average]

FROM

invoices

GROUP BY

BillingCity

ORDER BY

BillingCity

Вопрос 4. Удалите представление V_GlobalAverage. Как будет работать V_CityAvgVsGlobalAvg?

Решение. Чтобы удалить наше представление, воспользуемся условием DROPVIEW. Кроме того, на вкладке Database Structure (Структура базы данных) в DB Browser мы можем щелкнуть правой кнопкой мыши по представлению и удалить его.

DROP VIEW V_GlobalAverage

Теперь, чтобы увидеть, как это повлияет на наши предыдущие операторы, необходимо написать условие SELECT для выбора виртуальной таблицы.

V_CityAvgVsGlobalAvg

SELECT

*

FROM

V_CityAvgVsGlobalAvg

В результате мы получим следующее сообщение об ошибке:

no such table: main.V_GlobalAverage:

(таблица не существует: main.V_GlobalAverage:)

<p id="_16_xhtml_2523toc_marker_16_7"><strong>Глава 10. Контрольные вопросы</strong></p>

Вопрос 1. В таблицу customers добавьте новую запись.

Решение. Сначала необходимо добавить новую запись в таблицу customers. Клиент может существовать сам по себе, не будучи упомянутым в какой-либо другой таблице (если он еще не совершил покупку). Для начала вставьте запись в таблицу customers.

INSERT INTO

customers

VALUES ('60', 'New', 'Customer', '', '123 Day Street', 'New York', 'NY', 'USA', '11201', '(347) 525-8688', '', 'nc@gmail.com', '1');

Примечание

Некоторые поля оставим пустыми, поставив рядом две одинарные кавычки. Запустим запрос на выполнение и проанализируем результаты.

SELECT

*

FROM

customers

WHERE

FirstName = 'New'

Примечание

Если для нового клиента вы использовали другое имя, измените это значение в запросе соответствующим образом.

Рис. 144

Вопрос 2. Создайте счет для этого клиента.

Решение. Чтобы создать запись счета для нашего нового клиента, нам необходимо обратить особое внимание на поля в таблице invoices, которые соответствуют таблице customers. Например, в наших счетах используется тот же адрес, который отображается в таблице customers.

INSERT INTO

invoices

VALUES ('413', '60', '2019-10-04 00:00:00', '123 Day Street', 'New York', 'NY', 'USA', '10201', '50.00')

Вопрос 3. Удалите этого клиента из базы данных.

Решение. Как мы упоминали в главе 10, рекомендуется просмотреть данные, которые необходимо удалить. В этом случае данные, которые мы удаляем, содержатся в двух таблицах, поэтому для просмотра всех необходимых нам данных мы воспользуемся условием INNERJOIN.

SELECT

c. FirstName,

c. LastName,

i. Total,

i. InvoiceId

FROM

invoices i

INNER JOIN

customers c

ON i.CustomerId = c.CustomerId

WHERE c.CustomerId = 60

Теперь, когда мы подтвердили данные, мы можем использовать оператор DELETE.

DELETE FROM

invoices

WHERE CustomerId = 60

DELETE FROM

customers

WHERE CustomerId = 60

<p id="_17_xhtml_2523toc_marker_17"><strong>Приложение II. Список ключевых слов SQL по главам</strong></p><p id="_17_xhtml_2523toc_marker_17_"><strong>Глава 4. Ключевые слова</strong></p>
SELECT, AS, FROM, ORDERBY, ASC, DESC, LIMIT

/*

Многострочные комментарии начинаются с сочетания символов /* и заканчиваются символами */. Как правило, блок комментариев соответствует следующему формату:

CREATED BY: <ФИО>

CREATED ON: <дата>

DESCRIPTION: <краткое описание, что делает запрос>

*/

— В данном примере используются однострочные комментарии:

SELECT — Указывает, какие данные или поля будут получены из базы данных

FirstName AS 'First Name', — Имя поля

LastName AS [Last Name], — С помощью ключевого слова AS можно

переименовать поле

Company AS Co — Псевдоним, состоящий из одного слова, который нет

необходимости заключать в одинарные кавычки или скобки

FROM — Указывает, какие таблицы содержит база данных

customers — Ссылка на таблицу customers

ORDER BY — Указывает порядок сортировки записей по определенному полю;

по умолчанию будет определена сортировка в порядке возрастания (A — Z)

FirstName DESC — сортировка в порядке убывания (Z — A)

LIMIT — Задает ограничение на количество записей, выбираемых из базы данных

10; — Точку с запятой указывать необязательно

<p id="_17_xhtml_2523toc_marker_17_1"><strong>Глава 5. Ключевые слова</strong></p>
WHERE,CASE,WHEN,THEN,ELSE,ENDAS,DATE()

Примечание

Операторы в SQL используются в условиях SQL.

Рис. 145

SELECT

InvoiceDate,

BillingAddress,

BillingCity,

Total

FROM

invoices

WHERE

Total = 1.98 — Возвращает только записи, где Total = 1.98

ORDER BY

InvoiceDate

CASE — Перебирает условия и возвращает значение, когда выполняется первое условие

WHEN — Используется для указания условия

THEN — Используется после оператора WHEN

ELSE — Используется, если условие не выполнено в условиях WHEN/THEN

END AS — Создается новое поле

SELECT

InvoiceDate,

BillingAddress,

BillingCity,

Total,

CASE — Создается четыре условия для отображения различных ценовых диапазонов

WHEN TOTAL < 2.00 THEN 'Baseline Purchase' — Условие 1

Перейти на страницу:

Все книги серии Библиотека программиста

Программист-фанатик
Программист-фанатик

В этой книге вы не найдете описания конкретных технологий, алгоритмов и языков программирования — ценность ее не в этом. Она представляет собой сборник практических советов и рекомендаций, касающихся ситуаций, с которыми порой сталкивается любой разработчик: отсутствие мотивации, выбор приоритетов, психология программирования, отношения с руководством и коллегами и многие другие. Подобные знания обычно приходят лишь в результате многолетнего опыта реальной работы. По большому счету перед вами — ярко и увлекательно написанное руководство, которое поможет быстро сделать карьеру в индустрии разработки ПО любому, кто поставил себе такую цель. Конечно, опытные программисты могут найти некоторые идеи автора достаточно очевидными, но и для таких найдутся темы, которые позволят пересмотреть устоявшиеся взгляды и выйти на новый уровень мастерства. Для тех же, кто только в самом начале своего пути как разработчика, чтение данной книги, несомненно, откроет широчайшие перспективы. Издательство выражает благодарность Шувалову А. В. и Курышеву А. И. за помощь в работе над книгой.

Чед Фаулер

Программирование, программы, базы данных / Программирование / Книги по IT

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных