Anfang des Inhaltsbereichs

QUERY-Ausdruck (named_query_expression) Dokument im Navigationsbaum lokalisieren

Um eine ungeordnete Ergebnistabelle in einer SELECT-Anweisung (named_select_statement) zu erzeugen, ist die Angabe eines QUERY-Ausdrucks (named_query_expression) erforderlich.

Syntax

<named_query_expression> ::= <named_query_term> | <named_query_expression> UNION [ALL] <query_term> | <named_query_expression> EXCEPT [ALL] <query_term>

named_query_term, query_term

Erläuterung

Besteht ein QUERY-Ausdruck aus mehr als einer QUERY-Spezifikation (query_spec) (Angabe erfolgt in named_query_term bzw. in query_term), so darf nur die erste QUERY-Spezifikation des QUERY-Ausdrucks eine QUERY-Spezifikation (named_query_spec) sein.

Besteht der QUERY-Ausdruck nur aus einer QUERY-Spezifikation (named_query_spec) (Angabe erfolgt in named_query_term), so ist das Ergebnis des QUERY-Ausdrucks das unveränderte Ergebnis der QUERY-Spezifikation.

Besteht der QUERY-Ausdruck aus mehr als einer QUERY-Spezifikation, muß die Anzahl der selektierten Spalten in allen QUERY-Spezifikationen des QUERY-Ausdrucks gleich sein. Die jeweils i-ten selektierten Spalten der QUERY-Spezfikationen müssen vergleichbar sein.

Spaltenart (select_column)

 

Numerische Spalten

Sind untereinander vergleichbar. Sind alle i-ten selektierten Spalten numerische Spalten, so ist die i-te Spalte der Ergebnistabelle eine numerische Spalte.

Alphanumerische Spalten, Codeattribut BYTE

Sind untereinander vergleichbar.

Alphanumerische Spalten, Code-Attribut ASCII, EBCDIC, UNICODE

Sind untereinander vergleichbar. Sind auch vergleichbar mit Datums-, Zeit- und Zeitstempelwerten.

Alle i-ten Spalten sind Datumswerte

i-te Spalte der Ergebnistabelle ist Datumswert

Alle i-ten Spalten sind Zeitwerte

i-te Spalte der Ergebnistabelle ist Zeitwert

Alle i-ten Spalten sind Zeitstempelwerte

i-te Spalte der Ergebnistabelle ist Zeitstempelwert

Spalten vom Typ BOOLEAN

Sind untereinander vergleichbar.

Alle i-ten Spalten sind vom Typ BOOLEAN

i-te Spalte der Ergebnistabelle ist vom Typ BOOLEAN

Spalten von beliebigem anderen Datentyp (nicht weiter oben genannt)

i-te Spalte der Ergebnistabelle ist eine alphanumerische Spalte. Vergleichbare Spalten mit unterschiedlichen Code-Attributen werden konvertiert.

 

Sind Spalten vergleichbar, haben aber unterschiedliche Längen, so hat die korrespondierende Spalte der Ergebnistabelle die maximale Länge der zugrundeliegenden Spalten.

Namen der Spalten in der Ergebnistabelle

Die Namen der Spalten der Ergebnistabelle werden durch die Namen der selektierten Spalten der ersten QUERY-Spezifikation gebildet.

Sei T1 der linke Operand von UNION, EXCEPT oder INTERSECT (definiert in named_query_term). T2 sei der rechte Operand. R sei das Ergebnis der Operation T1 und T2.

Bei fehlender Klammerung wird INTERSECT vor UNION und EXCEPT ausgewertet. UNION und EXCEPT haben gleiche Priorität und werden bei fehlender Klammerung von links nach rechts ausgewertet.

Ende des Inhaltsbereichs