DQL - Skript Flashcards
1
Q
Was sind die wesentlichen Befehle der Data Query Language DQL?
A
- SELECT mit den Klauseln:
- SELECT-Klausel
- FROM-Klausel
- JOIN-Klausel
- WHERE-Klausel
- GROUP BY-Klausel
- ORDER BY-Klausel
2
Q
Was ist die SELECT-Klausel?
A
- eine gültige SELECT-Anweisung muss mindestens eine SELECT-Klausel enthalten
- SELECT name FROM kunde -> liefert alle Namen aus der Tabelle kunde
- SELECT kann auch Rechenergebnisse oder Konstanten ausgeben, dafür ist keine Tabelle nötig (z.B. SELECT 2+3 oder SELECT ‘Text’)
3
Q
Wie werden die Spalten der SELECT-Klausel ausgewählt?
A
- indem sie mit einem Komma getrennt aufgelistet werden, es muss mindestens eine Spalte angegeben sein
- Mit * werden alle Spalten ausgegeben
- Wenn man eine Spalte umbenennen möchte, wird das mit AS getan -> SELECT name AS kunden_name FROM kunde
4
Q
Was tut der DISTINCT Operator?
A
- damit kann man die Ausgabe von mehreren identischen Werten vermeiden
- SELECT DISTINCT ort -> verhindert, dass Orte mehrfach ausgegeben werden, wenn es mehrere Leute mit dem gleichen Ort gibt
5
Q
Was tut die FROM-Klausel?
A
- muss mindestens eine Tabelle enthalten
- bestimmt welche Tabelle mit dem SELECT angesprochen werden soll, alle weiteren Tabellen müssen im JOIN angegeben werden
- wenn eine Tabelle mehrfach verwendet werden muss, muss diese mit einem AS umbenannt werden
- Bsp: SELECT tb1.* FROM tabelle1 AS tb1, tabelle1 AS tb2 WHERE tb1.id <> tb2.id AND tb1.name = tb2.name
6
Q
Was tut die WHERE-Klausel?
A
- setzt eine Bedingung, nach welcher die Zeilen ausgewählt werden
- man kann Bedingungen angeben, welche Werte vergleichen oder konkrete Werte auswählen, solang die Bedingung “true” ist, wird die Zeile mit SELECT ausgewählt
7
Q
Was tut die JOIN-Klausel?
A
- kann mehrere Tabellen miteinander verbinden
- Folgt auf die FROM Klausel, wenn man JOIN verwendet gibt man bei FROM nur eine Tabelle an
- bei mehreren Tabellen muss man JOIN mehrfach ausführen, JOIN ist die einzige Klausel die mehrfach ausgeführt werden kann
8
Q
Was tut die GROUP BY-Klausel?
A
- fasst gleiche Spaltenwerte zu Gruppen zusammen
- für nummerische Werte kann z.B. COUNT oder SUM verwendet werden
- SELECT kunde_id, sum(betrag) FROM auftrag group by kunde_id -> gibt die Liste aller Kundennummern mit den Gesamtbruttoumsätzen der Kunden
- man kann verschiedene Zusätze verwenden: COUNT, AVG, MIN, MAX, SUM, STD
9
Q
Was tut die HAVING-Klausel?
A
- kann nur zusammen mit GROUP BY benutzt werden
- führt eine Selektion aus den gebildeten Gruppen durch, ist quasi das WHERE für GROUP BY, die Bedingung bei HAVING bezieht sich nur auf die durch GROUP BY gebildeten Spalten
10
Q
Was tut die ORDER BY-Klause?
A
- formatiert das Ergebnis einer Abfrage, kann entweder DESC -> Absteigend oder ASC -> Aufsteigend, was der Standard ist, sortiert werden
11
Q
Was sind Unterabfragen?
A
- werden verwendet, wenn man eine SELECT-Abfrage ausführen will, die normalerweise zwei SELECT-Abfragen bräuchte
- z.B. kann man dann einen Vergleichswert mithilfe einer zweiten SELECT-Klausel im WHERE suchen