Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Verbindung von Abfrage-Ausdrücken mit EXCEPT


abfrageausdruck ::= { select_ausdruck | TABLE tabelle | join_ausdruck | ( abfrageausdruck ) }

                  [EXCEPT [DISTINCT] abfrageausdruck ]



select_ausdruck

SELECT-Ausdruck, siehe Abschnitt „SELECT-Ausdruck".


TABLE tabelle

Tabellenabfrage, siehe Abschnitt „TABLE - Tabellenabfrage".


join_ausdruck

Join-Ausdruck, siehe Abschnitt „Join-Ausdruck".


(abfrageausdruck)

Unterabfrage, siehe Abschnitt „Unterabfrage".


EXCEPT

Die EXCEPT-Operation ist vergleichbar mit der Differenz zweier Mengen in der Mengenlehre. Die Ergebnistabelle enthält alle Sätze der ersten Tabelle, die nicht in der zweiten Tabelle vorkommen.

Für die Verknüpfung von Abfrage-Ausdrücken mittels EXCEPT müssen folgende Bedingungen erfüllt sein:


DISTINCT

Doppelte Sätze werden aus der Resultattabelle entfernt. Erfolgt keine Angabe, ist DISTINCT voreingestellt.

Datentyp der Ergebnisspalten bei EXCEPT

Bei der Verknüpfung von zwei Abfrage-Ausdrücken mit EXCEPT ist der Datentyp der Ergebnisspalten ebenso wie bei UNION durch folgende Regeln festgelegt.

  • Beide Ausgangsspalten haben den Datentyp CHAR:
    Ergebnisspalte hat Datentyp CHAR mit der größeren Länge.

  • Eine Ausgangsspalte hat Datentyp VARCHAR und die andere Ausgangsspalte CHAR oder VARCHAR:
    Die Ergebnisspalte hat Datentyp VARCHAR mit der größeren bzw. größeren maximalen Länge.

  • Beide Ausgangsspalten haben den Datentyp NCHAR:
    Ergebnisspalte hat Datentyp NCHAR mit der größeren Länge.

  • Eine Ausgangsspalte hat Datentyp NVARCHAR und die andere Ausgangsspalte NCHAR oder NVARCHAR:
    Die Ergebnisspalte hat Datentyp NVARCHAR mit der größeren bzw. größeren maximalen Länge.

  • Beide Ausgangsspalten haben ganzzahligen Typ oder Festpunktzahl-Typ (INT, SMALLINT, NUMERIC, DEC):
    Die Ergebnisspalte hat den Datentyp Ganz- oder Festpunktzahl.

    • Die Nachkommastellenzahl ist die größere der beiden Nachkommastellenzahlen der Ausgangsspalten.

    • Die Gesamtstellenzahl ist die größere der beiden Vorkommastellenzahlen plus die größere der beiden Nachkommastellenzahlen der beiden Ausgangsspalten, höchstens jedoch 31.

  • Eine Ausgangsspalte hat Gleitpunktzahl-Typ (REAL, DOUBLE, FLOAT), die andere hat einen beliebigen numerischen Datentyp:
    Die Ergebnisspalte hat den Datentyp DOUBLE PRECISION.

  • Beide Ausgangsspalten haben Zeitdatentyp:
    Beide Spalten müssen denselben Zeitdatentyp haben und die Ergebnisspalte hat auch diesen Datentyp.


Beispiel


Alle Kundennummern ermitteln, für die keine geplanten oder vertraglich vereinbarten Aufträge existieren.

SELECT knr FROM kunde
   EXCEPT DISTINCT
   SELECT knr FROM auftrag WHERE astnr < 3