SQL B: (Left-/Right-)JOIN, GROUP BY, ORDER BY

1,283 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,283
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

SQL B: (Left-/Right-)JOIN, GROUP BY, ORDER BY

  1. 1. SQL<br />JOIN, GROUP BY, ORDER BY<br />
  2. 2. „verbindet“ zwei Tabellen<br />Karthesisches Produkt …<br />… mit anschließender Selektion<br />JOIN<br />SQL Gruppe 2: Markus, Julian, Conny<br />
  3. 3. JOIN-Typen<br />(INNER) JOIN<br />Liefert nur Ergebnis, wenn Datensatz vollständig<br />LEFT JOIN<br />Liefert auch Ergebnis, wenn Datensatz nur in erster (linker) Tabelle existiert<br />RIGHT JOIN<br />LEFT JOIN, nur umgekehrt<br />SQL Gruppe 2: Markus, Julian, Conny<br />
  4. 4. JOIN: Beispiel<br />SELECT k.name AS kname, l.name AS lname<br />FROM kurs AS k<br />INNER JOIN lehrer AS l ON(k.lehrerid = l.id)<br />SQL Gruppe 2: Markus, Julian, Conny<br />
  5. 5. GROUP BY<br />Gruppiert Ergebnisse nach Spalte<br />Wird in Zusammenhang mit Aggregatfunktionen genutzt<br />SUM, COUNT, AVG, MAX, MIN<br />Aggregatsfunktionen arbeiten „innerhalb“ der Gruppen<br />SQL Gruppe 2: Markus, Julian, Conny<br />
  6. 6. GROUP BY: Beispiel<br />SELECT l.name, COUNT(k.id) AS anzahl_kurse<br />FROM lehrer AS l<br />INNER JOIN kurs AS k ON(k.lehrerid = l.id)<br />GROUP BY l.name<br />SQL Gruppe 2: Markus, Julian, Conny<br />
  7. 7. ORDER BY<br />Sortiert Ergebnis nach Spalte(n)<br />Aufsteigend (ASC) oder absteigend (DESC)<br />Bei mehreren Spalten haben die vorne stehenden Spalten Priorität<br />SQL Gruppe 2: Markus, Julian, Conny<br />
  8. 8. GROUP BY: Beispiel<br />SELECT l.name, COUNT(k.id) AS anzahl_kurse<br />FROM lehrer AS l<br />INNER JOIN kurs AS k ON(k.lehrerid = l.id)<br />GROUP BY l.name<br />ORDER BY l.name ASC<br />SQL Gruppe 2: Markus, Julian, Conny<br />

×