syntaxen - Kopie

Werbung
Syntax
SELECT DISTINCT Spalte1, Spalte2, Spalte3, SUM(Spalte3) AS SummeSpalte3
FROM Tabelle
WHERE Spalte1>wert1 AND Spalte2 IS NOT NULL
GROUP BY Spalte2
HAVING sum(Spalte3)>wert2
ORDER BY Spalte2 ASC
Verschachteltes Select:

Bedingung ist, dass das zweite SELECT maximal einen Wert zurückgibt. Dabei
bezieht sich das eigentliche SELECT auf das Ergebnis einer zweiten Unterabfrage.

Ermittle die Artikel aus der Abteilung Getränke, die überdurchschnittlich hohe
Einnahmen gebracht haben
SELECT Artikel
FROM Supermarkt
WHERE Abteilung = 'Getränke' AND (verkaufteAnzahl*Preis) >(SELECT
AVG(verkaufteAnzahl*Preis) FROM Supermarkt);
INNER JOIN: zwei Tabellen verknüpfen, anhand von gleichen Werten gewisser Spalten

FROM Tabelle1 INNER JOIN Tabelle2 ON Tabelle1.Id = Tabelle2.Id
OUTER JOIN:

FROM Tabelle1 OUTER JOIN Tabelle2 ON Tabelle1.Id = Tabelle2.Id
Arithmetische Operatoren:

SELECT (Preis*Menge) AS Gesamtmenge, Artikelname FROM...
WHERE: Mit bestimmten Bedingungen können bestimmte Zeilen ausgewählt werden.

WHERE Spaltenname1 = Beispiel OR (Spaltenname2 < Beispiel2 AND
Spaltenname2 > Beispiel3)
BETWEEN: Gibt einen Bereich an, in dem sich ein Ausdruck (Wert einer Spalte) befinden
soll.

WHERE Spaltenname1 (NOT) BETWEEN 10 AND 30
IS NULL: Überprüft in einer Tabelle ob ein leeres Feld vorhanden ist.

WHERE Spaltenname1 IS (NOT) NULL
IN: Wird benutzt, wenn man mit einer Wertmenge und nicht ausschließlich mit einem
einzigen Wert vergleichen will.


WHERE Spaltenname1 (NOT) IN (x,y,z)
Ist Spaltenname1 (NICHT) x oder y oder z?
GROUP BY: Fasst alle Zeilen zusammen, die identische Werte haben.



GROUP BY KundenId
Alle Spalten mit der selben KundenId werden zusammengerafft, wenn man z.B.
schaun will, wieviele Bestellungen ein Kunde gemacht hat
Gruppierung nach mehreren Entitätsmengen (KundenId, Datum) auch möglich
AND, OR, NOT: Kann man mit verschiedenen Bedingungen in einer Abfrage verbinden.
HAVING: Siehe WHERE, nur mit Aggregatfunktionen kombinierbar.



HAVING SUM(Spaltenname1) < X
Immer mit Agregatsfunktion und mit Group by.
regelt was mit den zusammengerafften inhalten passiert, die nicht gegroupt werden.
(werden die zusammengerechnet, oder was?)
SELECT SUM(Preis*Menge) AS Gesamtpreis, Artikel
FROM Bestellung
GROUP BY Artikel
HAVING SUM(Preis*Menge)>10;
ORDER BY: Sortiert Tabellen entweder absteigend (DESC) oder aufsteigend (ASC) nach
einer bestimmten Spalte.

ORDER BY Spaltenname1
LIKE: Wird benutzt, wenn man Werte einer Spalte unter bestimmten Kriterien, das heißt mit
Teilangaben, ausgeben will.

WHERE Spaltenname LIKE 'B*l' //Beispiel, Breistil, .. [Wildcard für mehrere
Buchstaben]
Aggregatfunktionen:




COUNT: Liefert die Anzahl der Zeilen mit gleichem Spaltennamen.
SUM: Liefert die Summe der Werte einer Spalte zurück und ist deshalb nur für
numerische Felder gültig. Zeichenfelder geben eine Fehlermeldung zurück.
AVG: Der Durschnittswert nur bei numerischen Feldern
MIN: Der Mindestwert auch bei Zeichenfeldern einsetzbar.

MAX: DER Maximalwert auch bei Zeichenfeldern einsetzbar.
o gehen nicht mit WHERE zusammen, dafür direkt im SELECT: SELECT
MAX(Preis) FROM Supermarkt...
Distinct



SELECT DISTINCT Spalte1,Spalte2,Spalte3
Jede Zeile die im Ergebnis mehrfach vorkommt, wird nur einmal ausgegeben
wenn man z.B. nur zwei Spalten auswählt kann es durchaus vorkommen, dass es die
selbe Zeile zweimal vorkommt
INSERT INTO
INSERT INTO Tabellenname (Spaltenname1,
VALUES (Wert1, Werte2);

Spaltenname2)
Erzeugen einer neuen Zeile in einer vorhandenen Tabelle
UPDATE
UPDATE Tabellenname
SET Spaltenname = neuer_ZellenWert, Spaltenname2 = neuer_Zellenwert2
WHERE Bedingung;

Um in einer bestehenden Tabelle in einer oder mehreren Zeilen eine Zelle zu
aktualisieren/ändern:
DELETE
DELETE FROM Tabellenname
WHERE Bedingung;

Um in einer bestehenden Tabelle eine oder mehrere Zeile zu löschen
SELECT ... INTO
SELECT Spaltenname INTO neue_Tabelle
FROM Tabellenname
WHERE Bedingung;

Übetragen von Tabellendaten (also anlegen neuer Tabelle mit den Werten der alten)
Herunterladen