Описание тега row-value-expression

Выражение-значение-строки - это стандартное выражение SQL для определения значения строки. В других языках это называется записью или кортежем.

Выражение-значение-строки - это стандартное выражение SQL для определения значения строки. В других языках это называется записью или кортежем.

Определение

SQL1992 Стандарт определяет конструктор значения строки как таковые:

<row value constructor> ::=
        <row value constructor element>
      | <left paren> <row value constructor list> <right paren>
      | <row subquery>

 <row value constructor list> ::=
      <row value constructor element>
          [ { <comma> <row value constructor element> }... ]

 <row value constructor element> ::=
        <value expression>
      | <null specification>
      | <default specification>

Согласно этому определению, обычные значения и значения строк могут, таким образом, использоваться в SQL взаимозаменяемо. Это можно увидеть в следующих выражениях:

Использование значений строки степени = 1

SELECT * FROM table t
WHERE t.a = 1

Использование значений строки степени> 1

SELECT * FROM table t
WHERE (t.a, t.b) = (1, 2)

Поддержка

Лишь немногие базы данных действительно поддерживают выражения значений строк, как указано в стандарте SQL. К ним относятся (с частичной или полной поддержкой):

  • DB2
  • HSQLDB
  • MYSQL
  • ORACLE
  • ПОСТГРЭС