SQL: быстрое погружение — страница 23 из 24

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 с запросом определенного набора информации.

Изолированная программная среда («песочница»)

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