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 |
Примечание
Оператор RIGHT JOIN не поддерживается в SQLite, но поддерживается в других реализациях СУБД.
Внутреннее соединение
SELECT
i. InvoiceId, — Указывает ссылку на поле в таблице
c. CustomerId,
c. Name,
c. Address,
i. InvoiceDate,
i. BillingAddress,
i. Total
FROM
invoices AS i
INNER JOIN
customers AS c
ON i.CustomerId = c.CustomerId
Левое внешнее соединение
SELECT
i. InvoiceId,
c. CustomerId,
c. Name,
c. Address,
i. InvoiceDate,
i. BillingAddress,
i. Total
FROM
invoices AS i
LEFT OUTER JOIN
customers AS c
ON
i. CustomerId = c.CustomerId
Правое внешнее соединение (не поддерживается в SQLite)
SELECT
i. InvoiceId,
c. CustomerId,
c. Name,
c. Address,
i. InvoiceDate,
i. BillingAddress,
i. Total
FROM
invoices AS i
RIGHT OUTER JOIN — Меняет местами таблицы
customers AS c
ON i.CustomerId = c.CustomerId
SELECT
ar.ArtistId AS [ArtistId From Artists Table],
al.ArtistId AS [ArtistId From Albums Table],
ar.Name AS [Artist Name],
al.Title AS [Album]
FROM
artists AS ar
LEFT OUTER JOIN
albums AS al
ON
ar.ArtistId = al.ArtistId
WHERE
al.ArtistId IS NULL — Можно также использовать IS NOT
Глава 7. Ключевые слова
GROUPBY,HAVING |
Рис. 148
Примечание
SQLite распознает гораздо больше функций, чем включено в эту главу. Более подробную информацию вы можете найти на сайте https://www.sqlite.org/lang_corefunc.html.
Глава 8. Ключевые слова
DISTINCT |
Базовый подзапрос:
Рис. 149
Рис. 150
Условие DISTINCT:
SELECT
DISTINCT TrackId
FROM
invoice_items
ORDER BY
TrackId
Глава 9. Ключевые слова
CREATEVIEW,DROPVIEW |
CREATE VIEW V_ViewName AS [Alias Name]
DROP VIEW V_ViewName
Глава 10. Ключевые слова
INSERTINTO,UPDATE,SET,DELETE |
Внимание
Язык управления данными (DML) позволяет изменять базу данных. С этими командами лучше попрактиковаться в «песочнице», например на учебной базе данных. Использование DML в рабочей базе с реальными данными может привести к фатальным последствиям.
INSERT INTO
artists (Name)
VALUES ('Bob Marley')
UPDATE
employees
SET PostalCode = '11202'
WHERE
EmployeeId = 9
DELETE FROM
employees
WHERE
EmployeeId = 9
Об авторе
Уолтер Шилдс (Walter Shields)
Уолтер Шилдс работает с SQL и базами данных уже более восемнадцати лет, сотрудничая с такими организациями, как Target Corporation, NYC Transit Authority и NYC Administration for Children's Services. Он помогает им использовать и понимать свои данные с помощью SQL.
Уолтер начал обучать студентов в кафе в Трайбеке в Нью-Йорке, где у него не было ничего, кроме ноутбука, «набитого» учебными материалами по SQL. С тех пор его наставничество превратилось в бизнес — компанию SQL Training Wheels. Когда Уолтер не обучает студентов, он работает над проектом Datadecided в компании Tableau (разработчик одноименного программного обеспечения для интерактивной визуализации данных и бизнес-аналитики).
Глоссарий
Агрегатная функция
Функция, предназначенная для получения единственного результата на основе содержимого поля. Агрегатные функции могут возвращать сумму, минимальное и максимальное значение, количество или другие математические функции.
Администратор базы данных
Специалист по базам данных, ответственный за обслуживание, безопасность и целостность базы данных. В его обязанности входит решать, кто и к каким частям базы данных получит доступ, и назначать специалиста, ответственного за редактирование базы данных.
Аргументы
Параметры функции, которые, как правило, заключены в круглые скобки () и разделены запятой.
Арифметический оператор
Ключевое слово SQL, используемое для выполнения основных арифметических операций (сложение, вычитание, умножение, деление, остаток от деления), которое обычно используется внутри условия WHERE.
Атрибут
Еще один вариант представления поля.
База данных
Набор данных, упорядоченный для облегчения и скорости поиска и извлечения с помощью компьютерных технологий.
Браузер SQL
Программный интерфейс системы управления реляционными базами данных, позволяющий конечному пользователю просматривать базы данных и выполнять запросы с использованием языка структурированных запросов.
Диаграмма «сущность — связь» (ERD)
Схема базы данных, представляющая взаимосвязи между таблицами, например связь между первичным ключом в одной таблице и соответствующими ему внешними ключами в других таблицах. ER-диаграмму также можно назвать схемой.
Внешний ключ
Столбец в таблице, который является первичным ключом в другой таблице.
Данные
Информация, которая может быть записана и сохранена в базе данных.
Запись
Один полный набор информации, состоящий из одной строки и как минимум одного столбца.
Запрос
Запрос, выполненный на языке структурированных запросов, введенный в браузер SQL с запросом определенного набора информации.
Изолированная программная среда («песочница»)
Среда базы данных, изолированная от любых действующих серверов или важных данных, чтобы код можно было протестировать или попрактиковаться в его применении.