SQL Reihenfolge SELECT etc?

2 Antworten

Spruch für die Reihenfolge 

Susi  = Select
F|ckd = From
Willy = Where (einschränken der auswahl der datensätze , bzw vor der aggregat funktion)
Ganz  = Group By
Hart  = Having (einschränken der ausgabe , bzw bei aggregat funktion)
Ohne  = Order By 
Liebe = Limit

FROM Tabelle1 
  JOIN Tabelle2 
  ON Tabelle1.ForeignKeyTabelle2 = Tabelle2.PrimarykeyTabelle1
  JOIN Tabelle3 
  ON Tabelle2.ForeignKeyTabelle3 = Tabelle3.PrimarykeyTabelle2
  JOIN Tabelle4 
  ON Tabelle2.ForeignKeyTabelle4 = Tabelle4.PrimarykeyTabelle2

so verknüpfst du nur die entsprechenden datensätze , wobei es noch
LEFT OUTER JOIN Tabelle2 (alle datensätze der Tabelle1 + gefundene der Tabelle 2 (sonst NULL))
RIGHT OUTER JOIN Tabelle2 (alle datensätze der Tabelle2 + Gefundene der Tabelle1 (sonst NULL) )
LEFT INNER JOIN , RIGHT INNER JOIN (nur die mit der entsprechenden Tabelle auch eine key übereinstimmung hat .)

OHNE JOIN WIRD jeder datensatz mit jedem datensatz kombiniert und mit WHERE eingeschränkt . was sehr sehr viel temp speicher fressen kann .

und 
SELECT a,b FROM Tabelle1 
  UNION 
  SELECT a as a1,c FROM Tabelle1  
... werden die datenfelder nacheinander angehängt 
also 
a,b,a1,c 
geht aber auch mit verschiedenen tabellen . 

SELECT -> Abfrage von Daten (Alternativ: INSERT, DELETE, UPDATE)

COUNT(spalte) -> Aggregatfunktion, fasst die Werte zu einem zusammen, hier der Anzahl der Werte (weitere: AVG, SUM); optional

FROM tabelle -> Die Tabelle(n), aus denen abgefragt wird

WHERE -> Bedingungen, die erfüllt sein müssen, z.B. spalte>0; optional

GROUP BY spalte -> Ergebnisse gruppieren, also Teile zusammenfassen; optional

ORDER BY spalte -> Ergebnisse nach spalte sortieren; optional

Beispiel:

Tabelle mit den Spalten name, abteilung, einkommen

SELECT * FROM Tabelle -> alle Zeilen

SELECT * FROM Tabelle WHERE abteilung=1 ORDER BY name-> nur die aus Abteilung 1 nach Name sortiert

SELECT abteilung, count(name) FROM Tabelle GROUP BY abteilung -> Anzahl der Mitarbeiter pro abteilung

Ansonsten wirf mal "SQL Tutorial" in eine Suchmaschine deiner Wahl...

Woher ich das weiß:Berufserfahrung – Softwareentwickler & Admin
PetraHeilinger 
Fragesteller
 08.12.2022, 19:58

Danke dir, das wird mir in Zukunft sehr weiterhelfen 👌🙏

0