MySQL-HM-Abfragen Flashcards

1
Q

Operationen für Auswertungs- und Abfrageoptionen

A

Projektion * Auswahl von Spalten Selektion * Auswahl bestimmter Zeilen nach Kriterien Join * Zusammenfassen mehrerer Tabellen

select feldname [Projektion]

from tabellenname [Join]

where bedingung; [Selektion]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Projektion

A

* es sollen nur bestimmte Felder aus der Tabelle angezeigt werden select feldname1, feldname2from tabellenname;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Selektion

A

* es sollen nur Datensätze angezeigt werden, die auf eine betimmte Bedingung zutreffen select *from tabellennamewhere feldname = “bedingung”;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Join

A

* zeigt Werte aus zwei oder mehr Tabellen in einer Ergebnistabelle an * Verbindung wird meist über Primary und Foreign Keys hergestellt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

alternativer Join

A

select *from tabellenname1, tabellenname2where feldname = bedingung; * Verarbeitung langsamer, da zuerst kartesisches Produkt gebildet wrid und dann die Bedingung überprüft wird

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Inner Join

A

* zeigt Datensätze sooft an, wie in der anderen Tabelle verwandte Datensätze vorhanden sind

select *from tabellenname1 [inner] join tabellenname2on tabellenname1.primärschlüssel = tabellenname2.fremdschlüssel;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Jion über mehrere Tabellen

A

select *from tabellenname1 join tabellenname2 on tabellenname1.pk = tabellenname2.fk join tabellenname3 on tabellenname2.pk = tabellenname3.fk;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Left [Outer] Join

A

zeigt Datensätze der rechten Tabelle sooft an, wie in der linken Tabelle verwandte Datensätze vorhanden sind jeder Datensatz der linken Tabelle wird mindestens einmal angezeigt

select * from tabellenname1 left [outer] join tabellenname2 on tabellenname1.pk = tabellenname2.fk

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Right [Outer] Join

A

* zeigt Datensätze der rechten Tabelle sooft an, wie in der linken Tabelle verwandte Datensätze vorhanden sind * jeder Datensatz der rechten Tabelle wird mindestens einmal angezeigt

select * from tabellenname1 right [outer] join tabellenname2 on tabellenname1.pk = tabellenname2.fk

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

gleiche Spaltennamen / Alias

A

* werden in verschiedenen Tabellen die gleichen Spaltenbezeichnungen verwendet muss der Tabellenname angegeben werden. * Alias kürzt Tabellenname ab

select t.feldname, t.feldname2, t.feldname3 from tabellenname1 [as] t join tabellenname2 [as] t2on t.pk = t2.fk;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Self Join

A

* Verknüpfung einer Tabelle mit sich selbst * zusätzlicher Feldname für die Projektion muss angegeben werden

Anwendungsbeispiel 1 (Vorgesetzen anzeigen):

select ma1.persnr, ma1.vorname, ma1.nachname, ma2.vorname v_vorn, ma2.nachname v_nachnfrom mitarbeiter ma1 join mitarbeiter ma2 on ma1.vorgesetzter = ma2.persnr;

Anwendungsbeispiel 2 (Duplikate finden):

select *from kunde as a join kunde as bon a.kdnr != b.kdnrwhere a.vorname = b.vornameand a.nachname = b.nachnameand a.geburtsdatum = b.geburtsdatum;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Cross Join

A

* berechnet das karthesische Produkt => Datensatz aus jeder Tabelle wird angezeigt * belastet u. U. Datenbankserver und soll nicht verwendet werden

select * from tabellennamejoin tabellenname1join tabellenname2join tabellenname3;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Projektion, Selektion, Join in einem Statement

A

select feldname1, feldname2, feldname3 from tabellenname join tabellenname2 on tabellenname.pk = tabellenname2.fk where feldname3 = bedingung;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

distinct

A

* zeigt jeden Datensatz nur einmal an, egal wie oft er im Join vorkommt

select distinct feldname1, feldname2, feldname3 from tabellenname join tabellenname2on tabellename.pk = tabellenname.fk;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

and und [x]or

A

and

select feldname1, feldname2, feldname3 from tabellennamewhere feldname1 = wert and feldname2 = wert;

[x]or

select feldname1, feldname2, feldname3 from tabellennamewhere feldname1 = wert[x]or feldname2 = wert;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

in

A

mehrere or-Abfragen auf ein Feld können mit in ersetzt werden

select feldname1, feldname2, feldname3 from tabellennamewhere feldname1 in (“wert1”, “wert2”);

17
Q

gleichzeitige Verwendung von and und [x]or

A

bei gleichzeitige Verwendung ist and stärker als [x]or

select kdnr, nachname, ort from kunde where ort = “essen” and rabatt 0.06 or kdnr 1000;

=> Kunde kommt aus Essen und hat weniger als 6% Rabatt oder er hat eine Kundennummer unter 1000 * es kann auch geklammert werden

select kdnr, nachname, ort from kundewhere ort = “essen” and (rabatt 0.06 or kdnr 1000);

=> Kunde muss aus Essen kommen und hat entweder weniger als 6% Rabatt oder eine Kundennummer unter 1000

18
Q

not

A

Ausdrücke können mit not negiert werden

select kdnr, nachname, ort from kunde where not ort = “essen”;

select kdnr, nachname, ort from kunde where ort != “essen”;

19
Q

between

A

between schränkt einen Wertebereich ein

select *from kundewhere rabatt >= 0.03 AND rabatt <= 0.06;

select *from kundewhere rabatt between 0.03 and 0.06;

20
Q

like

A

like wertet Teil von Feldern aus

% => beliebig viele beliebige Zeichen

_ => ein beliebiges Zeichen

select * from kundewhere ort like “m%”;