Введение в стандарты языка баз данных SQL




Соединенные таблицы - часть 3


  • Каждый столбец CR результата соединенной таблицы, который не является столбцом соединения и соответствует столбцу C1 таблицы T1, потенциально может содержать неопределенные значения, если выполняется любое из следующих условий:

      (a) специфицировано RIGHT, FULL или UNION;

      (b) специфицировано INNER, LEFT или CROSSJOIN, и столбец С1 потенциально может содержать неопределенные значения.

  • Каждый столбец CR результата соединенной таблицы, который не является столбцом соединения и соответствует столбцу C2 таблицы T2, потенциально может содержать неопределенные значения, если выполняется любое из следующих условий:

      (a) специфицировано LEFT, FULL или UNION;

      (b) специфицировано INNER, RIGHT или CROSSJOIN, и столбец С2 потенциально может содержать неопределенные значения.

  • Каждый столбец CR результата соединенной таблицы, который является столбцом соединения и соответствует столбцам C1 таблицы T1 и C2 таблицы T2, потенциально может содержать неопределенные значения, если выполняется любое из следующих условий:

      (a) специфицировано RIGHT, FULL или UNION и столбец C1 потенциально может содержать неопределенные значения;

      (b) специфицировано LEFT, FULL или CROSSJOIN, и столбец С2 потенциально может содержать неопределенные значения.

  • Соединенная таблица является только читаемой.
  • Определим T следующим образом:

      (a) если тип соединения есть UNION, то пусть T будет пустым множеством;

      (b) если специфицировано CROSSJOIN, то пусть T будет мультимножеством строк CP;

      (c) если задано условие соединения, то пусть T будет мультимножеством строк CP, для которых заданное условие поиска вычисляется в true;

      (d) если указаны NATURAL или имена столбцов соединения, то

      (i) если имеются столбцы соединения, то пусть T будет мультимножеством строк CP, для которых соответствующие столбцы соединения имеют одинаковые значения;

      (ii) в противном случае пусть T будет мультимножеством строк CP.

  • Пусть P1 - мультимножество строк из T1, для которых в T существует некоторая строка, являющаяся конкатенацией некоторой строки R1 из P1 и некоторой строки R2 из T2. Пусть P2 - мультимножество строк из T2, для которых в T существует некоторая строка, являющаяся конкатенацией некоторой строки R1 из T1 и некоторой строки R2 из P2.
  • Пусть мультимножество U1 составляют те строки из T1, которые не входят в P1, а U2 - строки, которые не входят в P2.
  • Пусть D1 и D2 - степени T1 и T2 соответственно. Пусть X1 получается из U1 путем расширения вправо на D2 столбцов, содержащих неопределенные значения, а X2 - из U2 путем расширения влево на D1 столбцов, содержащих неопределенные значения.
  • Результат соединенной таблицы S получается следующим образом:




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