DQL-SQL

Aus FI-Wiki

Data Query Language (DQL) in SQL

Die DQL dient ausschließlich der **Datenabfrage**. Im Zentrum steht der Befehl `SELECT`, mit dem Daten aus einer oder mehreren Tabellen **ausgelesen**, aber **nicht verändert** werden.

SELECT – Grundstruktur

SELECT spaltenname1, spaltenname2
FROM tabellenname
WHERE bedingung;

Beispiel:

SELECT name, email
FROM kunde
WHERE land = 'Deutschland';

SELECT * – Alle Spalten abfragen

SELECT * FROM kunde;

WHERE – Bedingungen anwenden

SELECT * FROM kunde
WHERE name LIKE 'A%';

ORDER BY – Sortieren

SELECT * FROM kunde
ORDER BY name ASC;

Absteigend sortieren:

SELECT * FROM kunde
ORDER BY name DESC;

DISTINCT – mehrfach vorkommende Werte entfernen

SELECT DISTINCT land
FROM kunde;

LIMIT – Anzahl der Zeilen begrenzen

SELECT * FROM kunde
LIMIT 10;

(Je nach System z. B. `TOP` in SQL Server, `FETCH FIRST` in Oracle)

JOIN – Tabellen verknüpfen

SELECT k.name, b.bestellnr
FROM kunde k
JOIN bestellung b ON k.kundennr = b.kundennr;

GROUP BY – Gruppierung

SELECT land, COUNT(*) AS anzahl_kunden
FROM kunde
GROUP BY land;

HAVING – Bedingung auf Gruppen

SELECT land, COUNT(*) AS anzahl
FROM kunde
GROUP BY land
HAVING COUNT(*) > 5;