Выбрать главу

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

Приложение II. Список ключевых слов SQL по главам

Глава 4. Ключевые слова

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; — Точку с запятой указывать необязательно

Глава 5. Ключевые слова

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

WHEN TOTAL BETWEEN 2.00 AND 6.99 THEN 'Low Purchase'

WHEN TOTAL BETWEEN 7.00 AND 15.00 THEN 'Target Purchase'

ELSE 'Top Performers' — Ключевое слово ELSE указывает другие имеющиеся условия

END AS PurchaseType

FROM

invoices

ORDER BY

BillingCity

Примечание

Для удобства печати в предыдущем примере однострочные комментарии сокращены. Однострочные комментарии всегда должны находиться в одной строке в браузере SQL, иначе они будут ошибочно приняты за код и возникнет ошибка.

Рис. 146

Примечание

DATE() — первая рассмотренная в книге функция. Она представлена ранее других, чтобы ее можно было использовать с ключевыми словами в главе 5. Другие функции рассмотрены в главе 7.

/*

С помощью функции DATE() можно удалить любую информацию о временном

коде из данных, хранящихся как тип DATETIME.

*/

SELECT

InvoiceDate,

DATE(InvoiceDate) AS [Results of DATE Function]

FROM

invoices

ORDER BY

InvoiceDate

Рис. 147

Глава 6. Ключевые слова

INNERJOIN,ON,LEFTOUTERJOIN,RIGHTOUTERJOIN,IS,NOT