Logo Host-telecom.com — профессиональный хостинг в Европе! Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
ATLEX Выделенные серверы: в Европе / в России.

Виртуальные серверы: в Европе / в России.

Партнерская программа

Ваш сайт в 8 раз быстрее конкурентов. Хостинг от $2.95

VPS: SSD, KVM, бесплатные бэкапы и администрирование

Все необходимое для вашего сайта и лучшая техподдержка 24/7

хостинг сайтов ГиперХост — хостинг сайтов который Вы искали.

Виртуальный хостинг, Аренда VPS серверов, рация доменных имен, SSL сертификаты

💰 Самые низкие цены на домены

🔒 Отличный хостинг на SSD c бесплатными SSL

💻 Огромнейший выбор dedicated выделенных серверов

5.24 <Подзапрос> (<subquery>)

Функция

Специфицирует мультимножество значений, полученных из результата <выражения, вырабатывающего таблицу> (<table expression>).

Формат


     <subquery> ::=

             (SELECT [ALL | DISTINCT] <result specification>

              <table expression>)

     <result specification> ::=

                  <value expression>

                | *

Синтаксические правила

  1. Применимые привилегии для каждого <имени таблицы> (<table name>), содержащегося в <выражении, вырабатывающем таблицу> (<table expression>), должны включать SELECT.
    Замечание: "Применимые <привилегии> (<privileges>)" для <имени таблицы> (<table name>) определяются в 6.10, "<определение привилегий> (<privileges definition>)".

  2. a) Если <спецификация результата> (<result specification>) "*" указана в <подзапросе> (<subquery>) какого-либо <предиката> (<predicate>), отличного от <предиката exists> (<exists predicate>), то степень <выражения, вырабатываающего таблицу> (<table expression>) должна быть равна 1 и <спецификация результата> (<result specification>) эквивалентна <выражению, вырабатывающему значение> (<value expression>), состоящему из <спецификации столбца> (<column specification>), указывающей на единственный столбец <выражения, вырабатывающего таблицу> (<table expression>).
    b) Если <спецификация результата> (<result specification>) "*" указана в <подзапросе> (<subquery>) <предиката exists> (<exists predicate>), то <спецификация результата> (<result specification>) эквивалентна произвольному <выражению, вырабатывающему значение> (<value expression>), не включающему <спецификацию функции над множеством> (<table expression>) и допустимому в <подзапросе> (<subquery>).
  3. Тип данных значений <подзапроса> (<subquery>) есть тип данных явного или неявного <выражения, вырабатывающего значение> (<value expression>).
  4. Пусть R обозначает результат <выражения, вырабатывающего таблицу> (<table expression>).
  5. Каждая <спецификация столбца> (<column specification>) в <выражении, вырабатывающем значение> (<value expression>) должна недвусмысленно ссылаться на столбец R.
  6. Если R - это сгруппированное представление, то <спецификация результата> (<result specification>) не должна содержать <спецификацию функции над множеством> (<set function specification>).
  7. Если R - это сгруппированная таблица, то каждая <спецификация столбца> (<column specification>) в <выражении, вырабатывающем значение> (<value expression>) должна указывать на столбец группирования или быть специфицированной внутри <спецификации функции над множеством> (<set function specification>). Если R это не сгруппированная таблица и <выражение, вырабатывающее значение> (<value expression>) включает <спецификацию функции над множеством> (<set function specification>), то каждая <спецификация столбца> (<column specification>) в <выражении, вырабатывающем значение> (<value expression>) должна быть указана внутри <спецификации функции над множеством> (<set function specification>).
  8. <Ключевое слово> (<key word>) DISTINCT не должно специфицироваться более одного раза в <подзапросе> (<subquery>), включая любой <подзапрос> (<subquery>), содержащийся в этом <подзапросе> (<subquery>).
  9. Если <подзапрос> (<subquery>) специфицируется в <предикате сравнения> (<comparison predicate>), то <выражение, вырабатывающее таблицу> (<table expression>) не должно содержать <раздел group by> (<group by clause>) или <раздел having> (<having clause>) и не должно идентифицировать сгруппированное представление.

Общие правила

  1. Если R не является сгруппированной таблицей и <выражение, вырабатывающее значение> (<value expression>) включает <спецификацию функции над множеством> (<set function specification>), то R является аргументом или источником аргумента каждой <спецификации функции над множеством> (<set function specification>) в <выражении, вырабатывающем значение> (<value expression>) и результат <подзапроса> (<subquery>) есть значение, специфицированное <выражением, вырабатывающем значение> (<value expression>).
  2. Если R не является сгруппированной таблицей и <выражение, вырабатывающее значение> (<value expression>) не включает <спецификацию функции над множеством> (<set function specification>), то <выражение, вырабатывающее значение> (<value expression>) применяется к каждой строке R, образуя мультимножество из n значений, где n - мощность R. Если не указано ключевое слово DISTINCT, то это мультимножество является результатом <подзапроса> (<subquery>). Если DISTINCT указано, то результатом <подзапроса> (<subquery>) является множество значений, получаемое из этого мультимножества удалением любых избыточных дублирующих значений.
  3. Если R - сгруппированная таблица, то <выражение, вырабатывающее значение> (<value expression>) применяется к каждой группе R, образуя мультимножество из n значений, где n - число групп в R. Когда <выражение, вырабатывающее значение> (<value expression>) применяется к данной группе R, эта группа является аргументом или источником аргумента каждой <спецификации функции над множеством> (<set function specification>) в <выражении, вырабатывающем значение> (<value expression>). Если не указано ключевое слово DISTINCT, то это мультимножество является результатом <подзапроса> (<subquery>). Если DISTINCT указано, то результатом <подзапроса> (<subquery>) является множество значений, получаемое из этого мультимножества удалением любых избыточных дублирующих значений.

5.25 <Спецификация запроса> (<query specification>)

Функция

Специфицирует таблицу, полученную из результата <выражения, вырабатывающего таблицу> (<table expression>).

Формат


     <query specification> ::=

             (SELECT [ALL | DISTINCT] <select list>

              <table expression>)

     <select list> ::=

              <value expression> [{,<value expression>}]

            | *

Синтаксические правила

  1. Применимые привилегии для каждого <имени таблицы> (<table name>), содержащегося в <выражении, вырабатывающем таблицу> (<table expression>), должны включать SELECT.
    Замечание: "Применимые <привилегии> (<privileges>)" для <имени таблицы> (<table name>) определяются в 6.10, "<определение привилегий> (<privileges definition>)".
  2. Пусть R обозначает результат <выражения, вырабатывающего таблицу> (<table specification>).
  3. Степень таблицы, специфицированной через <спецификацию запроса> (<query specification>) равна мощности <списка выборки> (<select list>).
  4. <Список выборки> (<select list>) "*" эквивалентен последовательности <выражений, вырабатывающих значение> (<value expression>), в которой каждое <выражение, вырабатывающее значение> (<value expression>) является <спецификацией столбца> (<column specification>), указывающей на столбец R, и каждый столбец R указывается ровно один раз. Столбцы указываются в порядке возрастания номеров их исходных позиций внутри R.
  5. Каждая <спецификация столбца> (<column specification>) в каждом <выражении, вырабатывающем значение> (<value expression>) должна однозначно указывать на столбец R. <Ключевое слово> (<key word>) DISTINCT не должно указываться более одного раза в <спецификации запроса> (<query specification>) за исключением любого <подзапроса> (<subquery>) этой <спецификации запроса> (<query specification>).
  6. Если R - это сгруппированное представление, то <список выборки> (<select list>) не должен содержать <спецификацию функции над множеством> (<set function specification>).
  7. Если R - это сгруппированная таблица, то каждая <спецификация столбца> (<column specification>) в каждом <выражении, вырабатывающем значение> (<value expression>) должна указывать на столбец группирования или быть специфицированной внутри <спецификации функции над множеством> (<set function specification>). Если R - это не сгруппированная таблица и какое-либо <выражение, вырабатывающее значение> (<value expression>) включает <спецификацию функции над множеством> (<set function specification>), то каждая <спецификация столбца> (<column specification>) в любом <выражении, вырабатывающем значение> (<value expression>) должна быть указана внутри <спецификации функции над множеством> (<set function specification>).
  8. Каждый столбец таблицы, являющейся результатом <спецификации запроса> (<query specification>), имеет тот же тип данных, длину, точность и масштаб, что и <выражение, вырабатывающее значение> (<value expression>), из которого он получен.
  9. Если i-ое <выражение, вырабатывающее значение> (<value expression>) в <списке выборки> (<select list>) состоит из единственной <спецификации столбца> (<column specification>), то i-ый столбец результата есть именованный столбец с <именем столбца> (<column name>), соответствующим <спецификации столбца> (<column specification>). В противном случае i-ый столбец является неименованным.
  10. На столбец таблицы, которая является результатом <спецификации столбца> (<column specification>), накладывается ограничение содержать только не неопределенные значения в том и только в том случае, когда это именованный столбец с ограничением содержать только не неопределенные значения.
  11. <Спецификация запроса> (<query specification>) является изменяемой (updatable) в том и только в том случае, когда выдерживаются следующие условия:
    a) Ключевое слово DISTINCT не указано.
    b) Каждое <выражение, вырабатывающее значение> (<value expression>) в <списке выборки> (<select list>) состоит из <спецификации столбца> (<column specification>), и ни одна <спецификация столбца> (<column specification>) не появляется более одного раза.
    c) <Раздел from> (<from clause>) <выражения, выраба тывающего таблицу> (<table expression>) специфицирует в точности одну <ссылку на таблицу> (<table reference>), и эта <ссылка на таблицу> (<table reference>) указывает либо на базовую таблицу, либо на порожденную таблицу, являющуюся изменяемой (updatable).
    d) <Раздел where> (<where clause>) <выражения, вырабатывающего таблицу> (<table expression>) не содержит <подзапроса> (<subquery>).
    e) <Выражение, вырабатывающее таблицу> (<table expression>) не включает <раздела group by> (<group by clause>) или <раздела having> (<having clause>).

Общие правила

  1. Если R не является сгруппированной таблицей и <список выборки> (<select list>) включает <спецификацию функции над множеством> (<set function specification>), то R является аргументом или источником аргумента каждой <спецификации функции над множеством> (<set function specification>) в <списке выборки> (<select list>) и результат <спецификации запроса> (<query specification>) есть таблица, состоящая из одной строки. I-ое значение строки есть значение, специфицированное i-ым <выражением, вырабатывающим значение> (<value expression>).
  2. Если R не является сгруппированной таблицей и <список выборки> (<select list>) не включает <спецификацию функции над множеством> (<set function specification>), то каждое <выражение, вырабатывающее значение> (<value expression>) применяется к каждой строке R, образуя таблицу из m строк, где m - мощность R. I-ый столбец таблицы содержит значения, полученные применением i-ого <выражения, вырабатывающего значение> (<value expression>). Если не указано ключевое слово DISTINCT, то эта таблица является результатом <спецификации запроса> (<query specification>). Если DISTINCT указано, то результатом <спецификации запроса> (<query specification>) является таблица, получаемая из этой таблицы удалением любых избыточных дублирующих значений.
  3. Если R - сгруппированная таблица с нулевым числом групп, то результатом <спецификации запроса> (<query specification>) является пустая таблица.
  4. Если R - сгруппированная таблица с одной или более групп, то каждое <выражение, вырабатывающее значение> (<value expression>) применяется к каждой группе R, образуя таблицу из m строк, где m - число групп в R. I-ый столбец таблицы содержит значения, полученные применением i-ого <выражения, вырабатывающего значения> (<value expression>). Когда <выражение, вырабатывающее значение> (<value expression>) применяется к данной группе R, эта группа является аргументом или источником аргумента каждой <спецификации функции над множеством> (<set function specification>) в <выражении, вырабатывающем значение> (<value expression>). Если не указано ключевое слово DISTINCT, то эта таблица является результатом <спецификации запроса> (<query specification>). Если DISTINCT указано, то результатом <спецификации запроса> (<query specification>) является таблица, получаемая из этой таблицы удалением любых избыточных дублирующих строк.
  5. Строка является дубликатом другой строки в том и только в том случае, когда все пары значений с одной и той же порядковой позицией идентичны.

6. Язык определения схем

6.1 <Схема> (<schema>)

Функция

Определяет <схему> (<schema>).

Формат


     <schema> ::=

             CREATE SCHEMA <schema authorization clause>

             [<schema element>...]

     <schema authorization clause> ::=

             AUTHORIZATION <schema authorization identifier>

     <schema authorization identifier> ::=

             <authorization identifier>

     <schema element> ::=

             <table definition>

           | <view definition>

           | <privilege definition>

Синтаксические правила

  1. <Идентификатор полномочий схемы> (<schema authorization identifier>) должен быть отличным от <идентификатора полномочий схемы> (<schema authorization identifier>) любой другой <схемы> (<schema>) в той же самой среде. Понятие среды определяется в реализации.

Общие правила

Нет.

6.2 <Определение таблицы> (<table definition>)

Функция

Определяет базовую таблицу.

Формат


     <table definition> ::=

                CREATE TABLE <table name>

                (<table element> [{,<table element>}...])

     <table element> ::=

                 <column definition>

               | <table constraint definition>

Синтаксические правила

  1. Если <имя таблицы> (<table name>) содержит <идентификатор полномочий> (<authorization identifier>), то этот <идентификатор полномочий> (<authorization identifier>) должен быть таким же, как <идентификатор полномочий схемы> (<schema authorization identifier>) содержащей схемы.
  2. <Имя таблицы> (<table name>) должно быть отличным от <имени таблицы> (<table name>) любого другого <определения таблицы> (<table definition>) или <определения представления> (<view definition>) содержащей <схемы> (<schema>).
  3. <Определение таблицы> (<table definition>) должно содержать по меньшей мере одно <определение столбца> (<column definition>).
  4. Областью действия <имени таблицы> (<table name>) является <определение таблицы> (<table definition>).
  5. Описание таблицы, определенной через <определение таблицы> (<table definition>) включает имя <имя таблицы> (<table name>) и описание столбцов, специфицированное каждым <определением столбца> (<column definition>. Описание i-го столбца предоставляется i-ым <определением столбца> (<column definition>).

Общие правила

  1. <Определение таблицы> (<table definition>) определяет базовую таблицу.

6.3 <Определение столбца> (<column definition>)

Функция

Определяет столбец таблицы.

Формат


     <column definition> ::=

              <column name> <data type>

             [<default clause>]

             [<column constraint>...]

     <column constraint> ::=

               NOT NULL [<unique specification>]

             | <references specification>

             | CHECK (<search condition>)

Синтаксические правила

  1. <Имя столбца> (<column name>) должно быть отличным от <имени столбца> (<column name>) любого другого <определения столбца> (<column definition>) содержащегося в <определении таблицы> (<table definition>).
  2. I-ый столбец таблицы описывается i-ым <определением столбца> (<column definition>) в <определении таблицы> (<table definition>). Имя и тип данных столбца определяются <именем столбца> (<column name>) и <типом данных> (<data type>) соответственно.
  3. Пусть C обозначает <имя столбца> (<column name>) в <определении столбца> (<column definition>).
  4. Если указано NOT NULL, то неявно вводится следующее <определение проверочного ограничения> (<check constraint definition>): CHECK (C IS NOT NULL)
  5. Если не указано NOT NULL и не указан <раздел умолчания> (<default clause>), то неявно вводится DEFAULT NULL.
  6. Если указана <спецификация уникальности> (<unique specification>), то неявно вводится следующее <определение ограничения уникальности> (<unique constraint definition>):
    
             <unique specification> (C)
    
    

    Замечание: <Спецификация уникальности> (<unique specification>) определяется в 6.6, "<определение ограничения уникальности> (<unique constraint definition>)".
  7. Если указана <спецификация ссылок> (<references specification>), то неявно вводится следующее <определение ограничения ссылок> (<referential constraint definition>):
    
            FOREIGN KEY(C) <references specification>
    
    

    Замечание: <Спецификация ссылок> (<references specification>) определяется в 6.7, "<определение ограничения ссылок> (<referential constraint definition>)".
  8. Если указано CHECK, то каждая <спецификация столбца> (<column specification>) в <условии поиска> (<search condition>) должна ссылаться на столбец C, и неявно вводится следующее <определение проверочного ограничения> (<check constraint definition):
    
            CHECK (<search condition>)
    
    
  9. Описание столбца, определенного через <определение столбца> (<column definition>), включает имя <имя столбца> (<column name>) и тип данных, специфицированный <типом данных> (<data type>).

Общие правила

Нет.

Назад | Содержание | Вперед

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VDS хостинг Облачный сервер в Нидерландах и Украине

Аренда виртуального сервера от $7.91

Партнёрская программа
$20 за клиента

Wildcard сертификаты от $74,97 в год.

Дешевые ssl сертификаты для домена

Sectigo сертификаты от $7,67 в год.

хостинг Украина Виртуальный хостинг для сайта от $4,87

Регистрация домена от $2 в год

Партнерская программа – $20 за клиента

VPS с гибкой конфигурацией: за 1€

Мощные выделенные сервера: от 25€

Собственный Дата-Центр
Поддержка 24/7

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

Новости мира IT:

Архив новостей

Последние комментарии:

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...