Примечание
Оператор 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 (разработчик одноименного программного обеспечения для интерактивной визуализации данных и бизнес-аналитики).
Глоссарий
Агрегатная функция
Функция, предназначенная для получения единственного результата на основе содержимого поля. Агрегатные функции могут возвращать сумму, минимальное и максимальное значение, количество или другие математические функции.
Администратор базы данных
Специалист по базам данных, ответственный за обслуживание, безопасность и целостность базы данных. В его обязанности входит решать, кто и к каким частям базы данных получит доступ, и назначать специалиста, ответственного за редактирование базы данных.