Справочник запросов sql: справочник, примеры запросов, структура базы данных
Содержание
Справочник по языку SQL для ускорения запросов — Azure Storage
-
Статья -
-
Ускорение запросов поддерживает язык ANSI, аналогичный SQL, для выражения запросов к содержимому больших двоичных объектов. Диалект SQL для ускорения запросов — это подмножество ANSI SQL с ограниченным набором поддерживаемых типов данных, операторов и т. д. Оно также расширяет ANSI SQL для поддержки запросов к иерархическим частично структурированным форматам данных, таким как JSON.
Синтаксис SELECT
Единственной инструкцией SQL, поддерживаемой ускорением запросов, является инструкция SELECT. В этом примере возвращается каждая строка, для которой выражение возвращает значение true.
SELECT * FROM table [WHERE expression] [LIMIT limit]
Для данных в формате CSV table должно быть BlobStorage
. Это означает, что запрос будет выполняться для любого большого двоичного объекта, указанного в вызове функции REST. Для данных в формате JSON table является «дескриптором таблицы». См. раздел Дескрипторы таблицы в этой статье.
В следующем примере для каждой строки, для которой выражение WHERE возвращает значение true, эта инструкция вернет новую строку, созданную на основе вычисления каждого из выражений проекции.
SELECT expression [, expression ...] FROM table [WHERE expression] [LIMIT limit]
Вы можете указать один или несколько отдельных столбцов в составе выражения SELECT (например, SELECT Title, Author, ISBN
).
Примечание
В выражении SELECT можно использовать до 49 отдельных столбцов. Если вам нужно, чтобы результаты SELECT содержали более 49 столбцов, используйте в выражении SELECT подстановочный знак (*
) (пример: SELECT *
).
В следующем примере возвращается статистическое вычисление (например, среднее значение конкретного столбца) для каждой строки, для которой expression возвращает значение true.
SELECT aggregate_expression FROM table [WHERE expression] [LIMIT limit]
В следующем примере возвращаются подходящие смещения для разделения большого двоичного объекта в формате CSV. См. раздел Sys.Split этой статьи.
SELECT sys.split(split_size)FROM BlobStorage
Типы данных
Тип данных | Описание |
---|---|
INT | 64-разрядное целое число со знаком. |
FLOAT | 64-разрядное («двойной точности») значение с плавающей запятой. |
STRING | Строка переменной длины в Юникоде. |
timestamp | Момент времени. |
BOOLEAN | True или False. |
При чтении значений из данных в формате CSV все значения считываются как строки. Строковые значения могут быть преобразованы в другие типы с помощью выражений CAST. Значения могут быть неявно приведены к другим типам в зависимости от контекста. дополнительные сведения см. в разделе Приоритет типов данных (Transact-SQL).
Выражения
Ссылки на поля
Для данных в формате JSON или данных в формате CSV со строкой заголовка на поля можно ссылаться по имени. Имена полей можно заключать в кавычки или использовать без кавычек. Заключенные в кавычки имена полей заключаются в двойные кавычки ("
) и могут содержать пробелы, а также чувствительны к регистру. В именах полей без кавычек регистр не учитывается и они не могут содержать специальные символы.
В данных формата CSV на поля также можно ссылаться по порядковому номеру с префиксом в виде символа подчеркивания (_
). Например, на первое поле можно ссылаться как на _1
, либо на одиннадцатое поле можно ссылаться как на _11
. Ссылки на поля по порядковому номеру удобно использовать для данных в формате CSV, которые не содержат строки заголовка. В этом случае единственный способ ссылки на конкретное поле — по порядковому номеру.
Операторы
Поддерживаются следующие стандартные операторы SQL.
Оператор | Описание |
---|---|
= | Проверяет равенство двух выражений (оператор сравнения). |
!= | Проверяет неравенство одного выражения другому (оператор сравнения). |
<> | Сравнивает два выражения на верность того, не равно ли одно выражение другому (оператор сравнения). |
< | Сравнивает два выражения на верность того, не меньше ли одно выражение другого (оператор сравнения). |
<= | Сравнивает два выражения на верность того, не меньше ли или не равно ли одно выражение другому (оператор сравнения). |
> | Сравнивает два выражения на верность того, не больше ли одно выражение другого (оператор сравнения). |
>= | Сравнивает два выражения на верность того, больше или равно одно выражение другому (оператор сравнения). |
+ | складывает два числа. С помощью этого арифметического оператора сложения можно также прибавлять число дней к дате. |
- | Вычитает одно число из другого (оператор арифметического вычитания). |
/ | Выполняет деление одного числа на другое (арифметический оператор деления). |
* | Умножает два выражения (арифметический оператор умножения). |
% | Возвращает остаток от деления одного числа на другое. |
AND | Выполняет побитовую логическую операцию «И» между двумя целочисленными значениями. |
OR | Выполняет побитовую логическую операцию OR для двух указанных целочисленных значений, которые преобразуются в двоичные выражения в инструкциях Transact-SQL. |
NOT | Инвертирует входное логическое значение. |
CAST | Преобразует выражение одного типа данных в другой. |
BETWEEN | Определяет диапазон для проверки. |
IN | Определяет, совпадает ли указанное значение с одним из значений, содержащихся во вложенном запросе или списке. |
NULLIF | Возвращает значение NULL, если два указанных выражения равны. |
COALESCE | Вычисляет аргументы по порядку и возвращает текущее значение первого выражения, изначально не вычисленного как NULL. |
Если типы данных слева и справа от оператора различаются, автоматическое преобразование будет выполняться в соответствии с указанными здесь правилами: Приоритет типов данных (Transact-SQL).
Язык SQL с ускорением запросов поддерживает только небольшое подмножество типов данных, обсуждаемых в этой статье. Дополнительные сведения см. в разделе Типы данных этой статьи.
Приведения
Язык SQL с ускорением запросов поддерживает оператор CAST в соответствии с правилами, приведенными здесь: Преобразование типов данных (ядро СУБД).
Язык SQL с ускорением запросов поддерживает только небольшое подмножество типов данных, обсуждаемых в этой статье. Дополнительные сведения см. в разделе Типы данных этой статьи.
Строковые функции
Язык SQL для ускорения запросов поддерживает следующие стандартные строковые функции SQL.
Функция | Описание |
---|---|
CHAR_LENGTH | Возвращает длину строкового выражения в символах, если это строковое выражение имеет символьный тип данных; в противном случае возвращает длину строкового выражения в байтах (наименьшее целое число не меньше числа бит, деленного на 8). (Эта функция аналогична функции CHARACTER_LENGTH.) |
CHARACTER_LENGTH | Возвращает длину строкового выражения в символах, если это строковое выражение имеет символьный тип данных; в противном случае возвращает длину строкового выражения в байтах (наименьшее целое число не меньше числа бит, деленного на 8). (Эта функция аналогична функции CHAR_LENGTH.) |
LOWER | Возвращает символьное выражение после преобразования символов верхнего регистра в символы нижнего регистра. |
UPPER | Возвращает символьное выражение, в котором символы нижнего регистра преобразованы в символы верхнего регистра. |
SUBSTRING | Возвращает часть символьного, двоичного, текстового или графического выражения в SQL Server. |
TRIM | Удаляет символ пробела (32) или другие заданные символы в начале и конце строки. |
LEADING | Удаляет символ пробела (32) или другие заданные символы в начале строки. |
TRAILING | Удаляет символ пробела (32) или другие заданные символы в конце строки. |
Вот несколько примеров.
Функция | Пример | Результат |
---|---|---|
CHARACTER_LENGTH | SELECT CHARACTER_LENGTH('abcdefg') from BlobStorage | 7 |
CHAR_LENGTH | SELECT CHAR_LENGTH(_1) from BlobStorage | 1 |
LOWER | SELECT LOWER('AbCdEfG') from BlobStorage | abcdefg |
UPPER | SELECT UPPER('AbCdEfG') from BlobStorage | ABCDEFG |
SUBSTRING | SUBSTRING('123456789', 1, 5) | 23456 |
TRIM | TRIM(BOTH '123' FROM '1112211Microsoft22211122') | Microsoft |
Функции данных
Поддерживаются следующие стандартные функции даты SQL:
DATE_ADD
DATE_DIFF
EXTRACT
TO_STRING
TO_TIMESTAMP
На данный момент все форматы даты стандартного IS08601 преобразованы.
Функция DATE_ADD
Язык SQL для ускорения запросов поддерживает год, месяц, день, час, минуту, секунду для функции DATE_ADD
.
Примеры:
DATE_ADD(datepart, quantity, timestamp) DATE_ADD('minute', 1, CAST('2017-01-02T03:04:05.006Z' AS TIMESTAMP)
Функция DATE_DIFF
Язык SQL для ускорения запросов поддерживает год, месяц, день, час, минуту, секунду для функции DATE_DIFF
.
DATE_DIFF(datepart, timestamp, timestamp) DATE_DIFF('hour','2018-11-09T00:00+05:30','2018-11-09T01:00:23-08:00')
Для функции EXTRACT, отличной от даты, поддерживаемой функцией DATE_ADD
, язык SQL с ускорением запросов поддерживает timezone_hour и timezone_minute в качестве части даты.
Примеры:
EXTRACT(datepart FROM timestampstring) EXTRACT(YEAR FROM '2010-01-01T')
Функция TO_STRING
Примеры:
TO_STRING(TimeStamp , format) TO_STRING(CAST('1969-07-20T20:18Z' AS TIMESTAMP), 'MMMM d, y')
В этой таблице описаны строки, которые можно использовать для указания формата выходных данных функции TO_STRING
.
Строка форматирования | Выходные данные |
---|---|
yy | Год в формате 2 цифр — 1999 как «99» |
y | Год в формате 4 цифр |
гггг | Год в формате 4 цифр |
M | Месяц года — 1 |
ММ | Месяц с добавлением ноля — 01 |
MMM | Сокр. месяц года — янв. |
ММММ: | Полный месяц — май |
d | День месяца (1-31) |
дд | День месяца с добавлением ноля (01-31) |
а | До или после полудня |
h | Час дня (1-12) |
hh | Час дня с добавлением ноля (01-12) |
H | Час дня (0-23) |
HH | Час дня с добавлением ноля (00-23) |
m | Минута часа (0-59) |
ММ | Минута часа с добавлением ноля (00-59) |
s | Секунда минуты (0-59) |
сс | Секунда минуты с добавлением ноля (00-59) |
S | Доля секунды (0,1-0,9) |
SS | Доля секунды (0,01-0,99) |
SSS | Доля секунды (0,001-0,999) |
X | Смещение в часах |
XX или XXXX | Смещение в часах и минутах (+ 0430) |
XX или XXXX | Смещение в часах и минутах (-07:00) |
x | Смещение в часах (7) |
xx или xxxx | Смещение в часах и минутах (+ 0530) |
Xxx или xxxxx | Смещение в часах и минутах (+05:30) |
Функция TO_TIMESTAMP
Поддерживаются только форматы IS08601.
Примеры:
TO_TIMESTAMP(string) TO_TIMESTAMP('2007T')
Примечание
Можно также использовать функцию UTCNOW
для получения системного времени.
Статистические выражения
Инструкция SELECT может содержать либо одно, либо несколько выражений проекции или одно статистическое выражение. Поддерживаются следующие статистические функции.
Выражение | Описание |
---|---|
COUNT(*) | Возвращает количество записей, соответствующих выражению предиката. |
COUNT(expression) | Возвращает число записей, для которых выражение не имеет значение null. |
AVG(выражение) | Возвращает среднее для значений, отличных от NULL. |
MIN(expression) | Возвращает минимум для значений, отличных от NULL. |
MAX(expression | Возвращает максимум для значений, отличных от NULL. |
SUM(expression) | Возвращает сумму всех значений, отличных от NULL. |
MISSING
Оператор IS MISSING
является единственным нестандартным, поддерживаемым языком SQL для ускорения запросов. Если в данных JSON отсутствует поле из определенной входной записи, то поле выражения IS MISSING
будет иметь логическое значение true.
Дескрипторы таблиц
Для данных CSV имя таблицы всегда равно BlobStorage
. Пример:
SELECT * FROM BlobStorage
Для данных JSON доступны дополнительные параметры:
SELECT * FROM BlobStorage[*].path
Это позволяет выполнять запросы к подмножествам данных JSON.
Для запросов JSON можно указать путь в части предложения FROM. Эти пути могут помочь при анализе подмножества данных JSON. Эти пути могут ссылаться на значения массива и объекта JSON.
Давайте рассмотрим пример подробнее, чтобы разобраться в этом.
Это наш пример данных:
{ "id": 1, "name": "mouse", "price": 12.5, "tags": [ "wireless", "accessory" ], "dimensions": { "length": 3, "width": 2, "height": 2 }, "weight": 0. 2, "warehouses": [ { "latitude": 41.8, "longitude": -87.6 } ] }
Возможно, вас интересует только объект JSON warehouses
из указанных выше данных. Объект warehouses
является типом массива JSON, поэтому его можно упомянуть в предложении FROM. Образец запроса может выглядеть примерно так.
SELECT latitude FROM BlobStorage[*].warehouses[*]
Запрос получает все поля, но выбирает только широту.
Если требуется получить доступ только к значению объекта JSON dimensions
, можно использовать ссылку на этот объект в запросе. Пример:
SELECT length FROM BlobStorage[*].dimensions
Это также ограничивает доступ к членам объекта dimensions
. Если требуется получить доступ к другим членам полей JSON и внутренним значениям объектов JSON, можно использовать запросы, как показано в следующем примере:
SELECT weight,warehouses[0].longitude,id,tags[1] FROM BlobStorage[*]
Примечание
BlobStorage и BlobStorage[*] ссылаются на весь объект. Однако если в предложении FROM есть путь, то необходимо использовать BlobStorage[*].path
Sys.Split
Это специальная форма инструкции SELECT, которая доступна только для данных в формате CSV.
SELECT sys.split(split_size) FROM BlobStorage
Используйте эту инструкцию в тех случаях, когда необходимо загрузить и затем обработать записи данных в формате CSV в пакетах. Таким образом, можно обрабатывать записи параллельно, вместо того чтобы загружать все записи за один раз. Эта инструкция не возвращает записи из CSV-файла. Вместо этого он возвращает коллекцию размеров пакетов. Затем можно использовать каждый из размеров пакетов для получения пакета записей данных.
Используйте параметр split_size, чтобы указать число байтов, которое должен содержать каждый пакет. Например, если вы хотите обрабатывать только 10 МБ данных одновременно, то оператор будет выглядеть следующим образом: SELECT sys.split(10485760)FROM BlobStorage
так как 10 МБ равно 10 485 760 байт. Каждый пакет будет содержать столько записей, сколько может уместиться в 10 МБ.
В большинстве случаев размер каждого пакета будет немного выше указанного числа. Это обусловлено тем, что пакет не может содержать частичную запись. Если последняя запись в пакете начинается до окончания порогового значения, пакет будет больше, чтобы он мог содержать всю запись. Размер последнего пакета, скорее всего, будет меньше указанного размера.
Примечание
Значение split_size должно быть не менее 10 МБ (10485760).
См. также раздел
- Ускорение запросов Azure Data Lake Storage
- Фильтрация данных с помощью ускорения запросов Azure Data Lake Storage
Вкладка «SQL-запрос» (редактор запросов) (Краткий справочник)
Вкладка «SQL-запрос» (редактор запросов) (Краткий справочник)
Справочник команд
AutoCAD 2008 > Команды > Б
— Команды > БДСВЯЗЬ > Редактор
запросов > Вкладка «SQL-запрос»
(редактор запросов) >
Вкладка «SQL-запрос» (редактор запросов)
location=’/acad_aug.ru/ws1a9193826455f5ffa23ce210c4a30acaf-59b5.htm»> | Процедура | Краткий справочник |
Формирование
запроса в соответствии с протоколом SQL 92. Вкладка «SQL-запрос»
содержит специальную область для ввода и редактирования
произвольных запросов на языке SQL, а также вспомогательные
средства, облегчающие формирование запросов. Поскольку не все
системы управления базами данных полностью совместимы со стандартом
SQL 92, необходимо обратиться к системной документации и выяснить,
какие SQL-команды действительны для конкретной базы данных.
- Область ввода
SQL-условий Здесь
формируется сам запрос. Условия могут вводиться вручную или
автоматически набираться с помощью служебных средств.- Таблица
Список всех
таблиц баз данных, имеющихся в текущем источнике данных. Добавить
таблицу базы данных в область ввода можно, дважды нажав на ней
кнопку мыши, выбрав ее и нажав «Добавить», или же путем
перетаскивания. Допускается также ввод имен вручную.- Добавить
(Таблица) Добавление
выделенной таблицы базы данных в область ввода SQL-условий.- Поля
Список всех
столбцов выбранной таблицы базы данных. Добавить столбец в область
ввода можно, дважды нажав кнопку мыши на нем, выбрав его и нажав
«Добавить», или же путем перетаскивания.- Добавить
(Столбцы) Добавление
выделенного столбца в область ввода SQL-условий.- Оператор
Список
операторов, которые могут быть использованы в запросах.- Добавить
(оператор) Добавление
выделенного оператора в область ввода SQL-условий.- Значения
Значение для
выделенного столбца.- Добавить
(значения) Добавление
содержимого поля «Значения» в область ввода SQL-условий.- Кнопка
«…» Нажатие кнопки
позволяет выбрать значение из списка всех имеющихся значений в
указанном столбце выделенной таблицы. Список выводится вдиалоговом окне «Значения столбца»,
предназначенном для выбора значения запроса.- Пометить записи
в окне просмотра Выделение
цветом записей, совпадающих с критерием поиска, в
окне просмотра данных.- Пометить
объекты на чертеже Выделение
цветом связанных объектов, совпадающих с критерием поиска, в
текущем чертеже.- Выполнить
Выполнение
сформированного запроса и закрытие диалогового окна.- Закрыть
Закрытие
диалогового окна без выполнения запроса.- Сохранить
Сохранение
запроса в текущем чертеже.- Проверить
Позволяет
проверить запрос на соответствие правилам языка SQL без выполнения
запроса. Данная функция предназначена для выявления синтаксических
ошибок.- Опции
Вызов
диалогового окна «Параметры окна просмотра данных и
запросов».
- Диалоговое окно «Значения столбца»
- Вкладка «Формирователь» (редактор запросов)
Памятка по SQL — Справочное руководство по SQL для анализа данных — Dataquest
Независимо от того, изучаете ли вы SQL с помощью одного из наших интерактивных курсов по SQL или каким-либо другим способом, иметь памятку по SQL может быть очень полезно.
Добавьте эту статью в закладки или загрузите и распечатайте PDF-файл и держите его под рукой для быстрой справки, когда в следующий раз будете писать SQL-запрос!
Наша шпаргалка по SQL содержит больше информации, чем написанная от руки!
Нужно освежить свой SQL, прежде чем вы будете готовы к шпаргалке? Ознакомьтесь с нашим интерактивным онлайн-курсом по основам SQL, узнайте, почему вы должны изучать SQL, или изучите информацию о сертификатах SQL и о том, нужны ли они вам.
Основы SQL
SQL означает S структурированный Q uery L язык. Это система запроса — запроса, фильтрации и вывода — данных из реляционных баз данных.
SQL, разработанный в 1970-х годах, первоначально назывался SEQUEL. По этой причине сегодня его иногда произносят как «Sequel», а иногда как «S.Q.L.». Допустимо любое произношение
Хотя существует множество «разновидностей» SQL, SQL в той или иной форме можно использовать для запроса данных из большинства систем реляционных баз данных, включая MySQL, SQLite, Oracle, Microsoft SQL Server, PostgreSQL, IBM DB2, Microsoft Azure SQL Database, Apache Hive и т. д. базы данных.
Памятка по SQL: основы
Выполнение вычислений с помощью SQL
Выполнение одного вычисления:
SELECT 1320+17;
Выполнение нескольких вычислений:
ВЫБОР 1320+17, 1340-3, 7*191, 8022/6;
Выполнение вычислений с несколькими числами:
SELECT 1*2*3, 1+2+3;
Результаты переименования:
SELECT 2*3 AS mult, 1+2+3 AS nice_sum;
Выбор таблиц, столбцов и строк:
Помните: порядок предложений имеет значение в SQL. SQL использует следующий порядок старшинства: ОТ
, SELECT
, LIMIT
.
Показать всю таблицу:
ВЫБЕРИТЕ * ОТ имя_таблицы;
Выберите определенные столбцы из таблицы:
SELECT имя_столбца_1, имя_столбца_2 ОТ имя_таблицы;
Показать первые 10 строк таблицы:
SELECT * ОТ имя_таблицы ПРЕДЕЛ 10;
Добавление комментариев к запросам SQL
Добавление однострочных комментариев:
-- Первый комментарий SELECT column_1, column_2, column_3 -- Второй комментарий ОТ имя_таблицы; -- Третий комментарий
Добавление комментариев блока:
/* Этот комментарий охватывает несколько строк */ ВЫБЕРИТЕ столбец_1, столбец_2, столбец_3 ОТ имя_таблицы;
SQL Intermediate: соединения и сложные запросы
Во многих из этих примеров используются имена таблиц и столбцов из реальных баз данных SQL, с которыми учащиеся работают в наших интерактивных курсах SQL. Для получения дополнительной информации зарегистрируйте бесплатную учетную запись и попробуйте ее!
Соединение данных в SQL:
Соединение таблиц с INNER JOIN:
ВЫБРАТЬ имя_столбца_1, имя_столбца_2 ИЗ имя_таблицы_1 INNER JOIN table_name_2 ON table_name_1.column_name_1 = table_name_2.column_name_1;
Соединение таблиц с помощью LEFT JOIN:
SELECT * FROM fact ВЛЕВО ПРИСОЕДИНЯЙТЕСЬ к городам ВКЛ city.facts_id = facts.id;
Объединение таблиц с использованием RIGHT JOIN:
SELECT f.name country, c.name city ИЗ городов c ПРАВОЕ СОЕДИНЕНИЕ фактов f ON f.id = c.facts;
Соединение таблиц с помощью FULL OUTER JOIN:
SELECT f.name country, c.name city ИЗ городов c FULL OUTER JOIN факты f ON f.id = c.facts_id;
Сортировка столбца без указания имени столбца:
ВЫБЕРИТЕ имя, migration_rate ИЗ ФАКТОВ ЗАКАЗАТЬ ПО 2 уб. ; -- 2 относится к столбцу migration_rate
Использование соединения внутри подзапроса с ограничением:
SELECT c.name Capital_City, f.name Country ИЗ фактов ф ВНУТРЕННЕЕ СОЕДИНЕНИЕ ( ВЫБЕРИТЕ * ИЗ городов ГДЕ столица = 1 ) c ON c.facts_id = f.id ПРЕДЕЛ 10;
Объединение данных из более чем двух таблиц:
SELECT [имя_столбца] ИЗ [имя_столбца] [join_type] JOIN [table_name_two] ON [join_constraint] [join_type] JOIN [table_name_three] ON [join_constraint] ... ... ... [join_type] JOIN [table_name_three] ON [join_constraint]
Другие распространенные операции SQL:
Объединение столбцов в один столбец:
SELECT альбом_идентификатор, идентификатор_артиста, "идентификатор альбома" || альбом_идентификатор col_1, "идентификатор исполнителя" || идентификатор исполнителя col2, альбом_идентификатор || artist_id col3 ИЗ альбома LIMIT 3;
Совпадающая часть строки:
SELECT имя, фамилия, телефон ОТ клиента ГДЕ first_name LIKE "%Jen%";
Использование логики if/then в SQL с CASE:
CASE КОГДА [сравнение_1], ТО [значение_1] КОГДА [сравнение_2] ТО [значение_2] ИНАЧЕ [значение_3] КОНЕЦ AS [новое_имя_столбца]
Использование предложения WITH:
WITH track_info AS ( ВЫБИРАТЬ имя, ar. name художник, al.название альбома_название, С дорожки т Альбом INNER JOIN al ON al.album_id = t.album_id ВНУТРЕННЕЕ СОЕДИНЕНИЕ исполнителя ar ON ar.artist_id = al.artist_id ) ВЫБЕРИТЕ * ИЗ track_info WHERE Album_name = "Зубчатая пилюля";
Создание представления:
CREATE VIEW chinook.customer_2 AS ВЫБЕРИТЕ * ОТ chinook.customer;
Удалить представление:
DROP VIEW chinook.customer_2;
Выбор строк, которые встречаются в одном или нескольких операторах SELECT:
[select_statement_one] СОЮЗ [select_statement_two];
Выбор строк, которые встречаются в обоих операторах SELECT:
SELECT * from customer_usa ПЕРЕСЕЧАТЬ ВЫБЕРИТЕ * из customer_gt_90_dollars;
Выбор строк, которые встречаются в первом операторе SELECT, но не во втором операторе SELECT:
SELECT * from customer_usa КРОМЕ ВЫБЕРИТЕ * из customer_gt_90_dollars;
Цепочка операторов WITH:
С США AS ( ВЫБЕРИТЕ * ОТ клиента ГДЕ страна = "США" ), last_name_g КАК ( ВЫБЕРИТЕ * ИЗ США ГДЕ фамилия НРАВИТСЯ "G%" ), state_ca AS ( ВЫБЕРИТЕ * ОТ last_name_g ГДЕ состояние = "CA" ) ВЫБИРАТЬ имя, фамилия, страна, состояние FROM state_ca
Важные понятия и ресурсы:
Зарезервированные слова
Зарезервированные слова — это слова, которые нельзя использовать в качестве идентификаторов (таких как имена переменных или имена функций) в языке программирования, поскольку они имеют особое значение в самом языке. Вот список зарезервированных слов в SQL.
Загрузить памятку по SQL в формате PDF
Нажмите на кнопку ниже, чтобы загрузить памятку (PDF, 3 МБ, цветная).
Загрузить памятку по SQL
Ищете больше, чем просто краткий справочник? Интерактивные курсы Dataquest по SQL помогут вам освоить SQL, когда вы научитесь создавать сложные запросы, которые вам понадобятся для работы с данными в реальном мире.
Нажмите кнопку ниже, чтобы зарегистрировать бесплатную учетную запись и начните учиться прямо сейчас!
PostgreSQL: Документация: 15: Часть II. Язык SQL
29 июня 2023 г .:
Выпущена вторая бета-версия PostgreSQL 16!
Документация → PostgreSQL 15
Поддерживаемые версии:
Текущий
(15)
/
14
/
13
/
12
/
11
Разрабатываемые версии:
16
/
devel
Неподдерживаемые версии:
10
/
9,6
/
9,5
/
9. 4
/
9.3
/
9.2
/
9.1
/
9,0
/
8.4
/
8.3
/
8.2
/
8.1
/
8,0
/
7.4
/
7.1
В этой части описывается использование языка SQL в PostgreSQL. Мы начнем с описания общего синтаксиса SQL, а затем объясним, как создавать структуры для хранения данных, как заполнять базу данных и как запрашивать ее. В средней части перечислены доступные типы данных и функции для использования в командах SQL. Остальное касается нескольких аспектов, важных для настройки базы данных для достижения оптимальной производительности.
Информация в этой части организована таким образом, что начинающий пользователь может прочитать ее от начала до конца, чтобы получить полное представление о темах, не обращаясь к ней слишком много раз. Главы должны быть автономными, чтобы опытные пользователи могли читать главы по отдельности по своему усмотрению. Информация в этой части представлена в повествовательной форме в тематических блоках. Читатели, которым нужно полное описание конкретной команды, должны ознакомиться с Частью VI.
Читатели этой части должны знать, как подключаться к базе данных PostgreSQL и выполнять команды SQL. Читателям, незнакомым с этими вопросами, рекомендуется сначала прочитать часть I. Команды SQL обычно вводятся с помощью интерактивного терминала PostgreSQL psql, но можно использовать и другие программы с аналогичными функциями.
Содержание
- 4. Синтаксис SQL
- 4.1. Лексическая структура
- 4.2. Выражения значений
- 4.3. Вызов функций
- 5. Определение данных
- 5.1. Основы работы со столом
- 5.2. Значения по умолчанию
- 5.3. Сгенерированные столбцы
- 5.4. Ограничения
- 5.5. Системные столбцы
- 5.6. Изменение таблиц
- 5.7. Привилегии
- 5.8. Политики безопасности строк
- 5.9. Схемы
- 5.10. Наследство
- 5.11. Разделение таблицы
- 5.12. Иностранные данные
- 5.13. Другие объекты базы данных
- 5.14. Отслеживание зависимостей
- 6. Манипуляции с данными
- 6.1. Вставка данных
- 6.2. Обновление данных
- 6.3. Удаление данных
- 6.4. Возврат данных из измененных строк
- 7. Запросы
- 7.1. Обзор
- 7.2. Табличные выражения
- 7.3. Выберите списки
- 7.4. Объединение запросов (
UNION
,INTERSECT
,ЗА ИСКЛЮЧЕНИЕМ
) - 7.5. Сортировка рядов (
ЗАКАЗАТЬ
) - 7.6.
ПРЕДЕЛ
иСМЕЩЕНИЕ
- 7.7.
ЗНАЧЕНИЯ
Списки - 7.8.
WITH
Запросы (общие табличные выражения)
- 8. Типы данных
- 8.1. Числовые типы
- 8. 2. Денежные типы
- 8.3. Типы символов
- 8.4. Двоичные типы данных
- 8.5. Типы даты/времени
- 8.6. Логический тип
- 8.7. Перечисляемые типы
- 8.8. Геометрические типы
- 8.9. Типы сетевых адресов
- 8.10. Типы битовых строк
- 8.11. Типы текстового поиска
- 8.12. UUID Тип
- 8.13. XML-тип
- 8.14. Типы JSON
- 8.15. Массивы
- 8.16. Композитные типы
- 8.17. Типы диапазонов
- 8.18. Типы доменов
- 8.19. Типы идентификаторов объектов
- 8.20.
pg_lsn
Тип - 8.21. Псевдотипы
- 9. Функции и операторы
- 9. 1. Логические операторы
- 9.2. Функции сравнения и операторы
- 9.3. Математические функции и операторы
- 9.4. Строковые функции и операторы
- 9.5. Двоичные строковые функции и операторы
- 9.6. Функции и операторы битовых строк
- 9.7. Сопоставление с образцом
- 9.8. Функции форматирования типов данных
- 9.9. Функции даты/времени и операторы
- 9.10. Функции поддержки перечисления
- 9.11. Геометрические функции и операторы
- 9.12. Функции и операторы сетевых адресов
- 9.13. Функции и операторы текстового поиска
- 9.14. UUID-функции
- 9.15. XML-функции
- 9.16. Функции и операторы JSON
- 9.17. Функции управления последовательностью
- 9. 18. Условные выражения
- 9.19. Функции массива и операторы
- 9.20. Функции и операторы диапазона/многодиапазона
- 9.21. Агрегатные функции
- 9.22. Оконные функции
- 9.23. Выражения подзапроса
- 9.24. Сравнение строк и массивов
- 9.25. Установить функции возврата
- 9.26. Функции системной информации и операторы
- 9.27. Функции системного администрирования
- 9.28. Триггерные функции
- 9.29. Функции запуска события
- 9.30. Статистические информационные функции
- 10. Преобразование типа
- 10.1. Обзор
- 10.2. Операторы
- 10.3. Функции
- 10.4. Хранилище значений
- 10.5.
UNION
,CASE
и родственные конструкции - 10.6.
SELECT
Вывод столбцов
- 11. Индексы
- 11.1. Введение
- 11.2. Типы индексов
- 11.3. Многоколоночные индексы
- 11.4. Индексы и
ЗАКАЗАТЬ
- 11.5. Объединение нескольких индексов
- 11.6. Уникальные индексы
- 11.7. Индексы по выражениям
- 11.8. Частичные индексы
- 11,9. Сканирование только для индексов и покрывающие индексы
- 11.10. Классы операторов и семейства операторов
- 11.11. Индексы и сопоставления
- 11.12. Проверка использования индекса
- 12. Полнотекстовый поиск
- 12. 1. Введение
- 12.2. Таблицы и указатели
- 12.3. Управление текстовым поиском
- 12.4. Дополнительные возможности
- 12.5. Парсеры
- 12.6. Словари
- 12.7. Пример конфигурации
- 12.8. Тестирование и отладка текстового поиска
- 12.9. Предпочтительные типы индексов для текстового поиска
- 12.10. Поддержка psql
- 12.11. Ограничения
- 13. Управление параллелизмом
- 13.1. Введение
- 13.2. Изоляция транзакции
- 13.3. Явная блокировка
- 13.4. Проверки согласованности данных на уровне приложения
- 13.5. Обработка ошибок сериализации
- 13.6. Предостережения
- 13.7. Блокировка и указатели
- 14.