Inhaltsverzeichnis:
1. Einführung: Was ist SQL?
2. Befehl SELECT
3. Befehl DISTINCT
4. Befehl WHERE
5. AND & OR Operatoren
6. IN Operator
7. BETWEEN Befehl
8. Befehl LIKE
9. Befehl ORDER BY
10. Befehl GROUP BY
11. Befehl HAVING
12. Befehl JOIN
13. Weiterführender Link1. Einführung: Was ist SQL?
SQL (Structured Query Language) ist eine Datenbanksprache, mit der in Datenbanken Strukturen erstellt bzw. die dort vorhandenen Daten bearbeitet und abgefragt werden können. So können mit bestimmten Befehlen alle Daten in der Labordatenbank abgerufen und dem Nutzer bereitgestellt werden.
SQL basiert auf der relationalen Algebra und ist die Standardsprache, wenn es um Datenbanken geht. Viele SQL Befehle stammen aus der englischen Sprache und sind daher einfach zu erlernen.2. Befehl SELECT
Der SQL Befehl SELECT
bildet die Basis für viele SQL Abfragen einer Datenbank. Damit ist es möglich Daten aus einer oder auch mehreren Tabellen (s. JOIN) abzufragen. Es wird definiert, welche Spalten einer bestimmten Tabelle nach Ausführung der Abfrage dargestellt werden sollen.
Die Syntax ist folgendermaßen aufgebaut:SELECT
Spaltenname1, Spaltenname2, Spaltenname+n FROM
Tabellenname
Als Beispiel wird die Tabelle samples aus der Labordatenbank verwendet:
Um sich in der Labordatenbank aus der Tabelle samples die Spalten name und description (rot markiert) ausgeben zu lassen, wird folgender Befehl verwendet:
SELECT
name AS Probe,
description AS Bezeichnung
FROM samples
LIMIT 5
FROM
wird am Ende kein Komma mehr gesetzt !LIMIT
benutzt, um in den Beispiel die Ergebnistabelle auf fünf Zeilen einzugrenzen.AS
umbenannt. Dieser Befehl kann optional verwendet werden.DISTINCT
wird benutzt, um Redundanzen, also mehrfach auftretende Werte, zu eliminieren, damit diese in der Tabelle nur einmal angezeigt werden.DISTINCT
wird die zu prüfende Spalte definiert. Der Befehl wird bei einer SQL Abfrage direkt hinter SELECT
gesetzt.SELECT DISTINCT
Spaltenname FROM
TabellennameSELECT DISTINCT description
FROM samples
LIMIT 5
DISTINCT
folgendes Ergebnis angezeigt:WHERE
wird verwendet, wenn bei einer SQL Abfrage nur bestimmte Datensätze aus einer Datenbank dargestellt werden sollen. Die WHERE
Bedingung funktioniert wie ein Filter, so dass nur Ergebnisse, die bestimmte Kriterien erfüllen, ausgegeben werden.SELECT
Spaltenname FROM
Tabellenname WHERE
Spaltenname = WertWHERE
wird definiert, welche Bedingung erfüllt werden soll, um ein bestimmtes Ergebnis zu erhalten.SELECT
name AS Probe,
description AS Bezeichnung
FROM samples
WHERE name > 210034
LIMIT 5
WHERE
Bedingung:WHERE visible_to != 'deleted'
WHERE
Bedingung benutzt werden:WHERE date BETWEEN FROMDATE AND TILLDATE
WHERE
Bedingungen zu verwenden, bzw. um Abfrageergebnisse weiter einzugrenzen, müssen die SQL Operatoren AND
& OR
eingebaut werden. Dabei wird mit dem Operator AND
SQL Bedingungen zusammengefügt und mit dem SQL Operator OR
zwischen zwei oder mehreren SQL Bedingungen unterschieden.WHERE
und AND
ist folgendermaßen aufgebaut:SELECT
Spaltenname FROM
Tabellenname WHERE
Spaltenname1 = Wert1 AND
Spaltenname2 = Wert2WHERE
und OR
ist folgendermaßen aufgebaut:SELECT
Spaltenname FROM
Tabellenname WHERE
Spaltenname1 = Wert1 OR
Spaltenname2 = Wert2AND
Vorrang gegenüber OR
!SELECT
name AS Probe,
description AS Bezeichnung
FROM samples
WHERE name > 210033
AND name < 210037
SELECT
name AS Probe,
description AS Bezeichnung
FROM samples
WHERE name < 210034
OR name > 210036
IN
wird mit einer WHERE
Bedingung verwendet, um mehrere Abfrageergebnisse in einem SQL Befehl zusammenzufügen. So wird verhindert, dass z.B. mehrere OR
Operatoren bei einer SQL Abfrage eingebaut werden müssen.IN
und NOT
können ebenfalls Ergebnismengen ausgeschlossen werden.WHERE
und IN
ist folgendermaßen aufgebaut:SELECT
Spaltenname FROM
Tabellenname WHERE
Spaltenname IN
('Wert1', 'Wert2')SELECT
name AS Probe,
description AS Bezeichnung
FROM samples
WHERE name
IN ('210034', '210036')
BETWEEN
wird mit einer WHERE
Bedingung verwendet, um in einen bestimmten Bereich Ergebnisse abzufragen.BETWEEN
wird oft benutzt, um z.B. Abfrageergebnisse in einem bestimmten Datumsbereich anzeigen zu lassen.WHERE
und BETWEEN
ist folgendermaßen aufgebaut:SELECT
Spaltenname FROM
Tabellenname WHERE
Spaltenname BETWEEN
'DATUM1' AND
'DATUM2'SELECT
name AS Probe,
description AS Bezeichnung
FROM samples
WHERE date
BETWEEN FROMDATE AND TILLDATE
FROM_UNIXTIME
verwendet werden:SELECT
name AS Probe,
description AS Bezeichnung,
FROM_UNIXTIME(date, '%d.%m.%Y') as Eingang
FROM samples
LIKE
wird mit einer WHERE
Bedingung verwendet, um Ergebnisse auf Grundlage eines definierten Musters abzufragen. Der Befehl LIKE
differenziert sich damit von dem Operator IN
(fester Suchbegriff) und dem SQL Befehl BETWEEN
(Bereichssuche).LIKE
wird oft in Texten verwendet, um mit regulären Mustern nach Ergebnissen zu suchen.WHERE
und LIKE
ist folgendermaßen aufgebaut:SELECT
Spaltenname FROM
Tabellenname WHERE
Spaltenname LIKE
'Muster'SELECT
name AS Probe,
description AS Bezeichnung
FROM samples
WHERE description
LIKE 'T_________1'
ORDER BY
wird verwendet, um Ergebnisse nach einer definierten Reihenfolge zu sortieren.ORDER BY
ist folgendermaßen aufgebaut:SELECT
Spaltenname FROM
Tabellenname ORDER BY
Spaltenname SortierungsparameterSELECT
name AS Probe,
description AS Bezeichnung
FROM samples
ORDER BY description DESC
GROUP BY
wird verwendet, um Ergebnisse zu gruppieren. Der Befehl legt fest, welche Datenmenge gruppiert werden soll, dabei können mehrere Spalten gruppiert werden. GROUP BY
kann auch mit einer WHERE
Bedingung benutzt werden.GROUP BY
ist folgendermaßen aufgebaut:SELECT
Spaltenname FROM
Tabellenname [WHERE
Bedingung] GROUP BY
SpaltennameGROUP BY
wird häufig in Verbindung mit einer Aggregatfunktion verwendet.GROUP BY
in Kombination mit einer Aggregatfunktion ist folgendermaßen aufgebaut:SELECT
Spaltenname, COUNT
(Spaltenname) FROM
Tabellenname GROUP BY
SpaltennameCOUNT
steht ein Komma und dahinter kommt kein Leerzeichen zur Klammer !SELECT
FROM_UNIXTIME(date, '%d.%m.%Y') AS Eingang,
COUNT(date) AS 'Anzahl Proben'
FROM samples
GROUP BY date
HAVING
wird eine gruppierte Ergebnismenge eingeschränkt. HAVING
stellt die WHERE
Bedingung in einem GROUP BY
Befehl dar. Eine WHERE
Bedingung kann nicht mit Aggregatfunktionen kombiniert werden, daher wird bei GROUP BY
der Befehl HAVING
verwendet.HAVING
in Kombination mit GROUP BY
und einer Beispiel Aggregatfunktion ist folgendermaßen aufgebaut:SELECT
Spaltenname, COUNT
(Spaltenname) FROM
Tabellenname GROUP BY
Spaltenname HAVING
AusdruckHAVING
steht immer hinter GROUP BY
. Eine ggf. benutzte WHERE
Bedingung in der SQL Abfrage muss vor dem GROUP BY
stehen !SELECT
FROM_UNIXTIME(date, '%d.%m.%Y') AS Eingang,
COUNT(date) AS 'Anzahl Proben'
FROM samples
GROUP BY date
HAVING COUNT(date) >3
JOIN
wird verwendet, um Informationen aus verschiedenen Tabellen bei einer SQL Abfrage zu erhalten. Mithilfe von JOIN
können Tabellen verknüpft werden, die über gemeinsame Datensätze in Beziehung miteinander stehen. Die Verknüpfung der zu vergleichenden Spalten aus den gewünschten Tabellen erfolgt über eine ON
Bedingung und die Definition der JOIN
Art.JOIN
Typen:JOIN
Arten Inner und Left relevant.WHERE
Bedingung verwendet werden.INNER JOIN
und LEFT JOIN
:JOIN = INNER JOIN
SQL Abfrage werden nur Ergebnisse angezeigt, die in beiden Tabellen vorkommen.LEFT JOIN
werden alle Ergebnisse der FROM
Tabelle angezeigt und die dazugehörigen, sofern vorhanden, Ergebnisse der gejointen Tabelle.JOIN
ist folgendermaßen aufgebaut:SELECT
Tabellenname1.Spaltenname, Tabellenname2.Spaltenname... FROM
Tabellenname1 JOIN
Tabellenname2 ON
Tabellenname1.SpaltennameVerknüpfung = Tabellenname2.idJOIN
Befehl verknüpft werden.SELECT
samples.name AS Probe,
samples.description AS Bezeichnung,
orders.name AS Auftrag
FROM samples
JOIN orders ON samples.order_id = orders.id
LIMIT 5
JOIN
bzw. bei einer Abfrage aus verschiedenen Tabellen muss bei SELECT
Spaltenname immer der Tabellenname mit angegeben werden: Tabellenname.Spaltenname !Letzte Änderung: 22.01.2024
Allgemeines
Einführungsphase
Mitarbeiter
Aufträge
Proben
Probenvorlage
Berichte
Berichtstabellen Editor
Kunden
Kundenzone (optional)
Anlagen
Angebote
Rechnungen
Parameter
Rechnen mit Parametern
Schnittstellen
Webservice
Transformationscode
Prüfpläne / Grenzwerte / Spezifikationen
Dokumentenlenkung
Prüfmittel
Material
Mitarbeiterschulungen
8D-Report
Sonstiges
PDF-Vorlagen
Fragen und Antworten
Lieferantenbewertung
Dateiverwaltung
Auswertungen
Prozesse