Справочник запросов 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

Типы данных

Тип данныхОписание
INT64-разрядное целое число со знаком.
FLOAT64-разрядное («двойной точности») значение с плавающей запятой.
STRINGСтрока переменной длины в Юникоде.
timestampМомент времени.
BOOLEANTrue или 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_LENGTHSELECT CHARACTER_LENGTH('abcdefg') from BlobStorage7
CHAR_LENGTHSELECT CHAR_LENGTH(_1) from BlobStorage1
LOWERSELECT LOWER('AbCdEfG') from BlobStorageabcdefg
UPPERSELECT UPPER('AbCdEfG') from BlobStorageABCDEFG
SUBSTRINGSUBSTRING('123456789', 1, 5)23456
TRIMTRIM(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.