Sql folien teil 1b Flashcards
Welche Funktionen haben ein Mindestghalt zwischen 100 und 1000
select *
from funktionen
where mindgehalt between 100 and 1000;
Hinweis: between entspricht >= and <=
select *
from funktionen
where mindgehalt >= 100
and mindgehalt <= 1000;
Zeige alle Mitarbeiter, die ein Gehalt zwischen 800 und 1000
bekommen und nicht in Abteilung A sind
select *
from mitarbeiter
where gehalt between 800 and 1000
and abteilung <> ‘A’;
Zeige alle Attribute der Mitarbeiter, die im Jahr 2000 eingestellt wurden
select *
from mitarbeiter
where einstellung between ‘2000-01-01’ and ‘2000-12-31’;
Zeige alle Mitarbeiter, die ein Gehalt zwischen 800 und 1400
bekommen aber nicht zwischen 1000 und 1200
select *
from mitarbeiter
where gehalt between 800 and 1400
and gehalt not between 1000 and 1200;
Welche Funktionen haben die Funktion „AL“, „MA“ und „PO“
select *
from funktionen
where funktion in (‘AL’, ‘MA’, ‘PO’);
Hinweis: die in-Liste kann als Einzelbedingungen, die mit OR
verbunden sind, dargestellt werden
select *
from funktionen
where funktion = ‘AL’
or funktion = ‘MA’
or funktion = ‘PO’;
Zeige alle Mitarbeiter, die ein Gehalt von 800, 900 oder 1000 haben
select *
from mitarbeiter
where gehalt in (800, 900, 1000);
Welche Mitarbeiter wurden am 1.5.2000 oder am 1.8.2000 eingestellt
select *
from mitarbeiter
where einstellung in (‘2000-05-01’, ‘2000-08-01’)
Zeige alle Funktionen, bei denen die Bezeichnung mit V beginnt
select *
from funktionen
where bezeichnung like ‘V%’;
Zeige alle Funktionen, deren Bezeichnung nicht mit er enden
select *
from funktionen
where bezeichnung not like ‘%er’;
Zeige alle Funktionen, deren Bezeichnung mit V beginnt und kein L
enthält
select *
from funktionen
where bezeichnung like ‘V%’
and bezeichnung not like ‘%l%’;
Da Textvergleiche case sensitiv und nicht sichergestellt ist, dass alle
Buchstaben groß bzw. klein geschrieben sind, muss dies berücksichtigt
werden. Dazu gibt es folgende Möglichkeiten:
Zeige alle Funktionen, deren Bezeichnung mit V beginnt und kein L
enthält
select *
from funktionen
where bezeichnung like ‘V%’
and not (bezeichnung like ‘%l%’
or bezeichnung like ‘%L%’);
Zeige alle Funktionen, deren Bezeichnung mit V beginnt und kein L
enthält
select *
from funktionen
where bezeichnung like ‘V%’
And (bezeichnung not like ‘%l%’
and bezeichnung not like ‘%L%’);
Zeige alle Funktionen, deren Bezeichnung an der zweiten Stelle ein e
hat
select *
from funktionen
where bezeichnung like ‘_e%’;
Da Textvergleiche case sensitiv und nicht sichergestellt ist, dass alle
Buchstaben groß bzw. klein geschrieben sind, muss dies berücksichtigt
werden. Dazu gibt es folgende Möglichkeiten:
select *
from funktionen
where upper(bezeichnung) like ‘_E%’;
select *
from funktionen
where lower(bezeichnung) like ‘_e%’;
select *
from funktionen
where bezeichnung like ‘_e%’
or bezeichnung like ‘_E%’;
Zeige alle Funktionen, deren Bezeichnung keinen Wert entält
select *
from funktionen
where bezeichnung is null;
Zeige alle Mitarbeiter, die keinen Boss haben
select *
from mitarbeiter
where boss is null;
Zeige alle Mitarbeiter, die einen Boss haben
select *
from mitarbeiter
where boss is not null;