sql 1d Flashcards
Wie hoch ist das Durchschnittsgehalt der Mitarbeiter je Abteilung
Schritt 1: welche Abteilungen gibt es überhaupt
select distinct abteilung
from mitarbeiter;
Schritt 2: wie hoch ist das Durchschnittseinkommen je Abteilung
select avg(gehalt)
from mitarbeiter
where abteilung = ‘A’;
Zur Bildung von Gruppen wird „group by attribut, attribut, etc. verwendet
Wie hoch ist das Durchschnittsgehalt der Mitarbeiter je Abteilung
select abteilung, avg(gehalt)
from mitarbeiter
group by abteilung;
Hinweis: Werden in der select-Anweisung Attribute und Attribute mit
Aggregate-Funktionen verwendet, so müssen alle Attribute, die nicht in einer
Aggregate-Funktion vorkommen, in der group-by-Klausel angegeben werden.
Wie hoch ist das Durchschnittsgehalt der Mitarbeiter je Abteilung und
sortiere das Ergebnis nach dem Durchschnittsgehalt absteigend
select abteilung, avg(gehalt)
from mitarbeiter
group by abteilung
order by avg(gehalt) desc;
select abteilung, avg(gehalt)
from mitarbeiter
group by abteilung
order by 2 desc;
Welche Abteilungen haben ein Durchschnittsgehalt > 1000
select abteilung, avg(gehalt)
from mitarbeiter
group by abteilung
having avg(gehalt) > 1000;
Zeige alle Abteilungen mit einem Durchschnittsgehalt > 2000 sowie das
Durchschnittsgehalt der Abteilung „A“
select abteilung, avg(gehalt)
from mitarbeiter
group by abteilung
having avg(gehalt) > 2000
or abteilung = ‘A’;
An welchen Tagen wurden Beträge (Summe) >= 20 überwiesen
(Transaktionen)
select datum, sum(betrag)
from transaktionen
group by datum
having sum(betrag) >= 20;
An welchen Tagen wurden Beträge (Summe) zwischen 100 und 300
überwiesen
select datum, sum(betrag)
from transaktionen
group by datum
having sum(betrag) between 100 and 300;
Welche Kunden befindet sich in welcher Nation (Bezeichnung)
select kundennr, bezeichnung
from kunden, nationen;
Welche Kunden befindet sich in welcher Nation
select kundennr, bezeichnung
from kunden, nationen
where kunden.nation = nationen.nation ;
select kundennr, bezeichnung
from nationen INNER JOIN kunden
ON nationen.nation= kunden.nation ;
Welcher Kunden befindet sich in welcher Nation (Tabellen-Alias)
select kundennr, k.Nation, Bezeichnung
from kunden k, nationen n
where k.nation = n.nation;
select kundennr, k.Nation, Bezeichnung
from Nationen n INNER JOIN Kunden k
ON n.Nation = k.Nation;
Welche Transaktionen hat der Kunde „Kunde 1“ bisher durchgeführt
select t.*,k.name
from kunden k, transaktionen t
where k. kundennr = t. kundennr
And k.name = ‘Kunde 1’;
select t.*,k.name
from Kunden k INNER JOIN transaktionen t
ON k. kundennr = t. kundennr
where k.name = ‘Kunde 1’;
Welche Transaktionen wurden von allen Kunden aus Österreich durchgeführt
select t.*
from kunden k, transaktionen t, nationen n
where k. kundennr = t. kundennr
and k.nation = n.nation
and n.bezeichnung = ‘Österreich’;
Welcher Transaktionen wurden von allen Kunden aus Österreich
durchgeführt
select t.*
from (kunden k inner join transaktionen t
on k. kundennr = t. kundennr) inner join nationen n
on k.nation = n.nation
where n.bezeichnung = ‘Österreich’;
Wie hoch ist die Summe der Transaktionsbeträge die der Kunde „Kunde 1“
bisher durchgeführt hat
select sum(t.betrag)
from kunden k, transaktionen t
where k. kundennr = t. kundennr
and k.name = ‘Kunde 1’;
select sum(t.betrag)
from Kunden k INNER JOIN transaktionen t
on k.kunde = t.Kunde
where k.name = ‘Kunde 1’;
Wie hoch ist die Summe der Transaktionsbeträge jedes einzelnen Kunden
select k.name,sum(t.betrag)
from kunden k, transaktionen t
where k. kundennr = t. kundennr
group by k.name;
select k.name,sum(t.betrag)
from Kunden k INNER JOIN transaktionen t
on k. kundennr = t. kundennr
group by k.name;