SQL-Grundlagen
SELECT, WHERE, INSERT, JOIN, GROUP BY. Du schreibst 5 SQL-Statements in eine .sql-Datei. Schema gibt's in der Aufgabe.
Deine ersten SQL-Queries
SQL-Grundlagen: deine ersten Abfragen
SQL (Structured Query Language) ist die Sprache, mit der man Datenbanken abfragt und verändert. Daten liegen in Tabellen (Zeilen = Datensätze, Spalten = Felder). Fast jede Anwendung speichert ihre Daten in einer SQL-Datenbank.
Wichtige Befehle
SELECT: Daten abfragen („zeige mir …").WHERE: filtert Zeilen nach einer Bedingung.INSERT: fügt einen neuen Datensatz ein.JOIN: verbindet zwei Tabellen über eine gemeinsame Spalte.GROUP BY+AVG(): gruppiert Zeilen und berechnet z. B. Durchschnitte.
Du schreibst die SQL-Befehle in
.sql-Dateien unter/home/student/sql/(mkdir -p /home/student/sql). Es gibt die Tabellenschueler(name, klasse, …) undnoten(fach, note, …).
Dein Ziel
Du schreibst fünf Abfragen — von einfacher Auswahl bis zur Auswertung über mehrere Tabellen.
Aufgaben
1. Alle Schüler abfragen
Begriff:
SELECT.SELECT * FROM tabelleholt alle Spalten (*) aller Zeilen einer Tabelle. Frage alle Schüler ab.mkdir -p /home/student/sql echo "SELECT * FROM schueler;" > /home/student/sql/alle.sqlKontrolle:
alle.sqlenthältSELECT * FROM schueler.2. Schüler der Klasse 7a
Begriff:
WHERE. MitWHEREfilterst du Zeilen nach einer Bedingung. Hole nur die Schüler der Klasse7a.echo "SELECT * FROM schueler WHERE klasse = '7a';" > /home/student/sql/klasse-7a.sqlTextwerte stehen in einfachen Anführungszeichen (
'7a').Kontrolle:
klasse-7a.sqlenthältSELECT ... FROM schueler ... WHERE klasse = '7a'.3. Einen neuen Schüler anlegen
Begriff:
INSERT.INSERT INTOfügt einen neuen Datensatz ein: erst die Spalten, dann die Werte. Lege einen neuen Schüler an.echo "INSERT INTO schueler (name, klasse) VALUES ('Lisa', '7b');" > /home/student/sql/neu.sqlKontrolle:
neu.sqlenthältINSERT INTO schueler (... name ... klasse ...).4. Noten mit Schüler-Name
Begriff:
JOIN. EinJOINverbindet zwei Tabellen über eine gemeinsame Spalte (hier die Schüler-ID), damit du z. B. Noten mit dem Namen des Schülers anzeigen kannst.echo "SELECT schueler.name, noten.fach, noten.note FROM schueler JOIN noten ON schueler.id = noten.schueler_id;" > /home/student/sql/noten-mit-namen.sqlKontrolle:
noten-mit-namen.sqlenthältSELECT ... FROM schueler ... JOIN noten.5. Durchschnittsnote pro Fach
Begriff: Aggregation (
AVG+GROUP BY). Aggregat-Funktionen fassen mehrere Zeilen zu einem Wert zusammen —AVG()berechnet den Durchschnitt.GROUP BY fachmacht das pro Fach.echo "SELECT fach, AVG(note) FROM noten GROUP BY fach;" > /home/student/sql/schnitt.sqlKontrolle:
schnitt.sqlenthältSELECT ... AVG(note ... GROUP BY fach.
Verwandte Kurse
Jetzt selbst üben
Lesen ist gut – selbst machen ist besser. Starte diesen Kurs an einer echten Linux-VM, direkt im Browser. Ein kostenloses Konto genügt.
Kostenlos startenLab-Inhalte unter CC BY 4.0 – frei nutzbar mit Namensnennung (© TechLogia).
