Operatoren

Was sind Operatoren? Wie benutzt man Operatoren?
Categories: 

SQL-spezifische Operatoren

Hier finden Sie Informationen zu den SQL-spezifische Operatoren, welche nicht ooder nicht nicht in dieser Form in anderem Computer-Sprachen vorkommen.

Categories: 

* - alle Felder

Syntax

    *

Beschreibung:

    Synonym für alle Felder der ausgewählten Tabellen.

    Beispiel:

SELECT *
 FROM torder
 ;

Selektiert alle Datensätze der Tabelle torder mit allen Feldern.

Categories: 

ALL - alle Werte

Syntax

Beschreibung:

    ALL wird vervendet um alle (ohne Ausnahmen) Werte/Tabellenzeilen auszuwählen.

    Beispiel:

SELECT *
 FROM tkunden
 WHERE rating > ALL ( SELECT rating FROM tkunden WHERE stadt='Berlin' );

Alle Kunden selektieren, deren rating grö&szliger ist als das rating aller Kunden in Berlin.

ANY - einige Werte

Syntax

Beschreibung:

    ANY und SOME sind Synonyme. Werden verwendet wenn das ergebnis erwünscht ist wenn wenigstens ein Datensätz rechts von dem Operator die logische Bedingung erfüllt.

    Beispiel:

SELECT *
 FROM tkunden
 WHERE rating > ANY ( SELECT rating FROM tkunden WHERE stadt='Berlin' );

Alle Kunden selektieren, deren rating grö&szliger ist als das rating mindestens eines der Kunden in Berlin.

Categories: 

BETWEEN - zwischen zwei Werten

Syntax

Beschreibung:

    WW BETWEEN W1 AND W2 zeigt dem DBMS an, da&szlig WW nur Werte zwischen W1 und W2 enthalten darf.

    Beispiel:

SELECT vnum,anz,preis
 FROM torder
 WHERE preis BETWEEN 100 AND 500

Hier werden die Felder vnum, anz und preis der Datensätze der Tabelle torder ausgewählt bei den das Feld preis nicht kleiner als 100 und nicht größer als 500 sein darf.

Categories: 

EXISTS - es existieren Werte

Syntax

Beschreibung:

    EXISTS wird im Zusammenhang mit gekapselten SQL-Abfragen verwendet und liefert den logischen Wert wahr zurück, wenn der SELECT-Befehl Daten zurücklifert. Wenn keine Daten ausgewählt werden, dann ist das Ergebnis unwahr.

    Beispiel:

SELECT DISTINCT knum
 FROM tkunden outer
 WHERE EXISTS
 ( SELECT * FROM tkunden inner
   WHERE inner.vnum=outer.vnum AND inner.knum&lt&gtouter.knum );

Hier werden die Kunden (knum) selektiert, die nicht allein von einem Verkäufer betreut werden.

Categories: 

IN - innerhalb einer Wertliste

Syntax

Beschreibung:

    WW IN ( Wert [,...] ) zeigt dem DBMS an, daß WW nur Werte aus der Werteliste annehmen darf.

    Beispiel:

SELECT *
 FROM torder
 WHERE preis IN (100,200,300,400,500);

Hier werden alle Datensätze mit allen Feldern der Tabelle torder ausgawählt bei den das Feld preis NUR Werte 100, 200, 300, 400 der 500 enthalten darf.

Categories: 

IS NULL - kein Wert bzw. kein Inhalt

Syntax

Beschreibung:

    Mit diesem Operator kann mann sicherstellen, da&szlig leere Daten selektiert werden oder da&szlig nur nicht leere Datensätze ausgewählt werden.

    Beispiel:

SELECT *
 FROM tkunden
 WHERE stadt IS NOT NULL;

Hier werden alle Kunden selektiert, wo auch das Feld stadt gefüllt ist.

Categories: 

LIKE - ähnliche Werte

Syntax

Beschreibung:

    LIKE wird nur auf CHAR und VARCHAR Datentypen angewendet. Für den Formatstring gelten folgende regeln:
    _ (Unterstrich) steht für alle möglichen Buchstaben, die an dieser Stelle vorkommen können.
    % (Prozent) steht für alle möglichen Buchstabenkombinationen (auch mehrere Buchstaben ) , die an dieser Stelle vorkommen können (wildcard, Platzhalter für mehrere Zeichen).

    Beispiel:

SELECT *
 FROM tkunden
 WHERE kname LIKE 'G%';

Hier werden alle Kunden selektiert, bei denen der Name mit G beginnt.

Categories: 

MATCHES - Ähnliche Werte

Syntax (Informix)

Beschreibung:

    MATCHES wird nur auf CHAR und VARCHAR Datentypen angewendet. Für den Formatstring gelten folgende regeln:
    ? (Fragezeichen) steht für alle möglichen Buchstaben, die an dieser Stelle vorkommen können.
    * (Stern) steht für alle möglichen Buchstabenkombinationen (auch mehrere Buchstaben ), die an dieser Stelle vorkommen können (wildcard, Platzhalter für mehrere Zeichen).
    [Zeichenbereich] die eckigen Klammern mit einem angegebenen Zeichenbereich innen, zeigen erlaubte Buchstaben die an dieser Stelle vrkommen dürfen.

    Beispiel:

SELECT *
 FROM tkunden
 WHERE kname MATCHES '?[AaBb]*';

Hier werden alle Kunden selektiert, bei ein A,a,B oder b an zweiter Stelle im Namen steht.

Categories: 

SOME - einige Werte

Syntax

Beschreibung:

    SOME und ANY sind Synonyme. Werden verwendet wenn das ergebnis erwünscht ist wenn wenigstens ein Datensätz rechts von dem Operator die logische Bedingung erfüllt.

    Beispiel:

SELECT *
 FROM tkunden
 WHERE rating &gt SOME ( SELECT rating FROM tkunden WHERE stadt='Berlin' );

Alle Kunden selektieren, deren rating grö&szliger ist als das rating mindestens eines der Kunden in Berlin.

Categories: 

Logische Operatoren

Innerhalb von Bedingungen können Unterbedingungen, Formeln und Werte mit logischen Operatoren verknüpft werden. So werden auch diverse Vergleiche, wie, zum Beispiel, Gleichheit, Ungleichheit usw. ermöglicht.

OperatorBedeutungBeispielBeschreibung
AND Logisches UND, z.B. bedeutet aa AND bb - aa und bb. Priorität bei der Ausführung ist (zumindest in SQL) größer als OR, aber kleiner als NOT. preis > 10 AND preis < 100; Preis muss größer 10 und kleiner 100 sein
NOT Logische negation, z.B. wenn aa wahr ist, ist NOT aa - unwahr u.s.w. Priorität bei der Ausführung ist (zumindest in SQL) größer als AND. NOT preis=0 Preis ist NICHT gleich 0 ist.
OR Logisches ODER, z.B. bedeutet aa OR bb - aa oder bb. Priorität bei der Ausführung ist (zumindest in SQL) kleiner als AND. preis > 10 AND preis < 100 OR preis > 1000 Preis ist größer 10 und kleiner 100 ist, sowie bzw. oder Preis größer 1000.
= Gleichheistoperator,z.B. aa=bb bedeutet aa ist gleich mit bb. Priorität bei der Ausführung ist (zumindest in SQL) größer als NOT, AND, OR. preis = 10 Preis ist gleich 10
> Grö&szliger als, z.B. aa &gt bb ist wahr, wenn aa grö&szliger als bb ist. Priorität bei der Ausführung ist (zumindest in SQL) größer als NOT, AND, OR. preis > 0 Preis ist größer als 0.
>= Grö&szliger oder gleich als, z.B. aa >= bb ist wahr, wenn aa grö&szliger als bb ist oder wenn aa gleich bb ist. Priorität bei der Ausführung ist (zumindest in SQL) größer als NOT, AND, OR. preis >= 300 Preis ist größer oder gleich 300.
&lt Kleiner als, z.B. aa &lt bb ist wahr, wenn aa kleiner als bb ist. Priorität bei der Ausführung ist (zumindest in SQL) größer als NOT, AND, OR. preis < 300 Preis ist kleiner als 300.
<= Kleiner oder gleich als, z.B. aa &lt= bb ist wahr, wenn aa kleiner als bb ist oder wenn aa gleich bb ist. Priorität bei der Ausführung ist (zumindest in SQL) größer als NOT, AND, OR. preis <= 300 Preis ist kleiner als oder gleich 300.
<> Ungleich, z.B. aa &lt&gt bb ist wahr, wenn aa nicht gleich bb ist. Priorität bei der Ausführung ist (zumindest in SQL) größer als NOT, AND, OR. preis <> 0 Preis ist ungleich 0.
Categories: 

Arithmetische Operatoren

Innerhalb von Formeln können numerische Werte und Felder mit arithmetischen Operatoren verknüpft werden.

OperatorBedeutungBeispielBedeutung
-Negatives Vorzeichen-0.01Minus 0,01
+Positives Vorzeichen (optional)+.9Plus 0,9
*Multiplikation2*Field32 mal Inhalt des Feldes Field3
/DivisionProzent3/100Inhalt des Feldes Prozent3 geteilt durch 100
+Addition, SubtraktionFeldA + (-0.9)Summe von FeldA und -0,9
-SubtraktionFeldA - 0.01FeldA minus 0,01
Categories: 

Prioritäten der Operatoren

Die verschiedenen Operatoren haben folgende Prioritäten bei der Anwendung/Ausführung innerhalb von Formeln:

OperatorBedeutungPriorität
+- Vorzeichen 0
* /Multiplikation, Division 1
+ -Addition, Subtraktion 2
=gleich 3
<>ungleich 3
>größer 3
<kleiner 3
>=größer gleich 3
<=kleiner gleich 3
[NOT] BETWEEN ... AND ...[nicht] zwischen ... und ... 3
IS [NOT] NULL [nicht] NULL-Wert 3
[NOT] IN [nicht] in der Menge 3
NOT Negation 4
AND logisches UND 5
OR logisches ODER 6
Categories: