Index   Kapitel 1   Kapitel 2   Kapitel 3   Kapitel 4   Kapitel 5   Kapitel 6   Kapitel 7  
Beispiel - Datenbank  



2 Selektion


Syntax : SELECT <Spalte>
FROM <Tabelle>
WHERE <Bedingung>

Selektion mit einfachem Vergleich

Beispiel : Gesucht werden die Namen aller Projekte, deren Standort Köln ist.
SELECT name
FROM Projekt
WHERE ort = 'Koeln'
Beispiel : Gesucht werden die Namen aller Projekte, deren Standort nicht Köln ist.
SELECT name
FROM Projekt
WHERE ort != 'Koeln'
oder
SELECT name
FROM Projekt
WHERE not (ort = 'Koeln')
Beispiel : Gesucht werden die Nachnamen aller Mitarbeiter, die mindestens 75000 DM verdienen.
SELECT nach_name
FROM Mitarbeiter
WHERE gehalt >= 75000

  

Selektion mit mehreren Bedingungen

Beispiel : Gesucht werden die Nachnamen aller Mitarbeiter, die männlich sind und weniger als 75000 DM verdienen.
SELECT nach_name
FROM Mitarbeiter
WHERE geschlecht = 'm'       AND
gehalt < 75000
Beispiel : Gesucht werden die Namen aller Projekte, deren Standort Köln oder Augsburg ist.
SELECT name
FROM Projekt
WHERE ort = 'Koeln'            OR
ort = 'Augsburg'

  

Selektion mit dem Operator IN

Beispiel : Gesucht werden die Namen aller Projekte, die einer der Abteilungen mit der Abteilungsnummer G01 oder V04 zugeordnet sind.
SELECT name
FROM Projekt
WHERE abt_nr IN ('G01', 'V04')
Beispiel : Gesucht werden die Namen aller Projekte, die keiner der Abteilungen mit der Abteilungsnummer G01 oder V04 zugeordnet sind.
SELECT name
FROM Projekt
WHERE abt_nr NOT IN ('G01', 'V04')

  

Selektion mit dem Operator LIKE

Der LIKE-Operator ermöglicht den Vergleich eines Strings mit einem Muster. Muster werden aus beliebigen Zeichen eines Strings und den beiden Sonderzeichen '_' und '%' gebildet. '_' steht für genau ein beliebiges Zeichen , während '%' für eine beliebig große (evtl. leere) Kette von beliebigen Zeichen steht.

Beispiel : Gesucht werden die Vornamen aller Angehörigen, die in den "Sechziger Jahren" geboren wurden.
SELECT angeh_vorname
FROM Angehoeriger_von
WHERE geb_datum LIKE '__.__.6_'
Beispiel : Gesucht werden die Vornamen aller Angehörigen, die mit dem Mitarbeiter verheiratet sind.
SELECT angeh_vorname
FROM Angehoeriger_von
WHERE verwandschaft LIKE 'Ehe%'

  

Selektion und NULL-Werte

NULL wird i.a. interpretiert als ein Platzhalter für die Aussage "Information/Attribut ist nicht vorhanden oder nicht bekannt oder nicht anwendbar ". SQL betrachtet daher im Vergleich zwei NULL-Werte immer als unterschiedlich. Möglich ist es allerdings abzufragen, ob die Aussage "Spalten-Wert ist NULL" für ein Tupel gilt.

Beispiel : Gesucht werden die Nachnamen der Mitarbeiter, die keinen Vorgesetzten haben (oder deren Vorgesetzter nicht bekannt ist)
SELECT nach_name
FROM Mitarbeiter
WHERE vorg_nr IS NULL
Hinweis : Bei Test auf Ungleichheit ist darauf zu achten, daß SQL zwei Werte nur dann als (echt) ungleich betrachtet, wenn beide Werte keine NULL-Werte sind.
Beispiel : Gesucht wird die Menge aller Mitarbeiter, die einen anderen Vorgesetzten als den Mitarbeiter mit der Nummer 1 haben. Die Ergebnistabelle enthält nicht die Mitarbeiter, die keinen Vorgesetzten haben .
SELECT nach_name
FROM Mitarbeiter
WHERE vorg_nr <> 1
Beispiel : Gesucht wird die Menge aller Mitarbeiter, die einen anderen Vorgesetzten als den Mitarbeiter mit der Nummer 1 oder keinen Vorgesetzten haben.
SELECT nach_name
FROM Mitarbeiter
WHERE vorg_nr <> 1     OR
vorg_nr IS NULL

  


Index   Kapitel 1   Kapitel 2   Kapitel 3   Kapitel 4   Kapitel 5   Kapitel 6   Kapitel 7  
Beispiel - Datenbank