Die Ausdruckklammern in SQL (Die Ausdruckklammern in SQL), Lektion, Seite 722936
https://www.purl.org/stefan_ram/pub/ausdruckklammern_sql (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
SQL-Kurs

Die Ausdruckklammern in SQL

Vorbereitung

Zum Nachvollziehen der folgenden Beispiele kann das folgende Skript in einen MySQL-Klienten kopiert werden. Bei Kopieren ist darauf zu achten nur genau den Text von »SET« bis zum letzten »;« zu kopieren und dann die Eingabetaste zu drücken.

Skript (MySQL )

WARNINGS; SET sql_mode = 'ANSI,TRADITIONAL';
DROP SCHEMA IF EXISTS S; CREATE SCHEMA S; USE S;

CREATE TABLE ONE ( COL INTEGER );
INSERT INTO ONE ( COL ) VALUES ( 1 );

SELECT * FROM ONE;

Ein Ausdruck kann in runde Klammern eingeschlossen werden, ohne daß dies seinen Typ oder Wert ändert.

Konsole
SELECT ( 65 );
+----+
| 65 |
+----+
| 65 |
+----+
Konsole
SELECT COL;
+------+
| COL |
+------+
| 1 |
+------+
Konsole
SELECT ( COL );
+------+
| COL |
+------+
| 1 |
+------+

(Hier werden die Klammern nicht im Spaltentitel gezeigt.)

Ausdruck (Syntaxdiagramm)
Primaerausdruck
.-------------.
---.------------>| Spaltenname |-------->.--->
| '-------------' ^
| .-------------. |
'------------>| Literal |---------'
| '-------------' |
| .-. .----------. .-. |
'--->( ( )--->| Ausdruck |--->( ) )---'
'-' '----------' '-'
Ausdruck
.-. .-----------------.
---.--->( - )--->| Primaerausdruck |-----.--->
| '-' '-----------------' |
| .-. .-----------------. |
'--->( + )--->| Primaerausdruck |-----'
| '-' '-----------------' |
| .----------. |
'------------>| Ausdruck |------------'
'----------'

Es ist auch möglich, mehrere  Operatoren zu kombinieren. Beispielsweise erst den Klammeroperator und dann den Minusoperator anzuwenden oder umgekehrt.

Konsole
SELECT -( 65 );
+---------+
| -( 65 ) |
+---------+
| -65 |
+---------+
Konsole
SELECT ( -65 );
+---------+
| ( -65 ) |
+---------+
| -65 |
+---------+

(Hier werden die Klammern nun im Spaltentitel gezeigt.)

Auch Texte können eingeklammert werden.

Konsole
SELECT ( 'xyz' );
+-----+
| xyz |
+-----+
| xyz |
+-----+

Typregeln

Der Typ eines Klammerausdrucks ist der Typ des eingeklammerten Ausdrucks (des Operanden). Das Einklammern ändert den Typ also nicht.

Übungsfragen

/   Ausgabe vorhersagen

Welcher Wert erscheint an der Stelle des Fragezeichens in der Ausgabe der Tabelle »ANTON«?

Konsole
DROP SCHEMA IF EXISTS S; CREATE SCHEMA S; USE S;
CREATE TABLE ANTON ( BERTA INTEGER );
INSERT INTO ANTON ( BERTA ) VALUES ( 4 );
SELECT ( BERTA ) FROM ANTON;
+-------+
| BERTA |
+-------+
| ? |
+-------+

/   Ausgabe vorhersagen (1)

Der Tabellenspeicher »ANTON« soll hier denselben Inhalt haben, wie in der vorherigen Übungsfrage.

Welcher Wert erscheint an der Stelle des Fragezeichens in der Ausgabe der Tabelle »ANTON«?

Konsole
SELECT -( BERTA ) FROM ANTON;
+-------+
| BERTA |
+-------+
| ? |
+-------+

/   Ausgabe vorhersagen (2)

Der Tabellenspeicher »ANTON« soll hier denselben Inhalt haben, wie in der vorherigen Übungsfrage.

Welcher Wert erscheint an der Stelle des Fragezeichens in der Ausgabe der Tabelle »ANTON«?

Konsole
SELECT (-( BERTA )) FROM ANTON;
+-------+
| BERTA |
+-------+
| ? |
+-------+

/   Ausgabe vorhersagen (3)

Der Tabellenspeicher »ANTON« soll hier denselben Inhalt haben, wie in der vorherigen Übungsfrage.

Welcher Wert erscheint an der Stelle des Fragezeichens in der Ausgabe der Tabelle »ANTON«?

Konsole
SELECT -(-( BERTA )) FROM ANTON;
+-------+
| BERTA |
+-------+
| ? |
+-------+

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram722936 stefan_ram:722936 Die Ausdruckklammern in SQL Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd722936, slrprddef722936, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/ausdruckklammern_sql