osrw-info-9abc-SJ25.26
osrw-info-9abc-SJ25.26
HA DB04
Beschreibung
📚 HAUSAUFGABEN DB04
SQL-Grundlagen und erste Datenbankabfragen
💻 Was ist SQL?
**SQL** (Structured Query Language) ist die **"Sprache der Datenbanken"**. Wie du auf Deutsch mit Menschen sprichst, sprichst du mit SQL mit Datenbanken. Mit SQL kannst du **fragen stellen**: "Zeige mir alle Nutzer, die heute Geburtstag haben" oder **Befehle geben**: "Lösche alle Posts von gestern".
Das Geniale: **SQL funktioniert überall** - egal ob MySQL (für Websites), SQLite (für Apps), Oracle (für große Firmen) oder PostgreSQL (für moderne Anwendungen). Einmal SQL gelernt = überall einsetzbar!
🔍 Die wichtigsten SQL-Befehle
SQL hat **4 Hauptaufgaben**. Stell dir vor, du hast eine Instagram-Datenbank und willst damit arbeiten:
📖 SELECT - Daten lesen
**Fragen stellen** und Antworten bekommen
FROM nutzer
WHERE geburtsdatum = '2009-03-15';
→ "Zeige mir Namen und Email aller Nutzer, die am 15.03.2009 geboren wurden"
➕ INSERT - Daten hinzufügen
**Neue Datensätze** in Tabelle einfügen
(username, email)
VALUES ('max_mueller', 'max@gmail.com');
→ "Neuen Nutzer 'max_mueller' mit Email hinzufügen"
✏️ UPDATE - Daten ändern
**Bestehende Daten** bearbeiten
SET email = 'neue@email.de'
WHERE username = 'max_mueller';
→ "Ändere die Email von Nutzer 'max_mueller'"
🗑️ DELETE - Daten löschen
**Datensätze entfernen**
WHERE datum < '2024-01-01';
→ "Lösche alle Posts von vor 2024"
Heute konzentrieren wir uns auf SELECT - das Lesen von Daten. Das ist wie Google für deine Datenbank!
🎯 SELECT-Statement im Detail
**SELECT** ist wie ein **intelligenter Filter**. Du sagst der Datenbank genau, welche Informationen du willst und unter welchen Bedingungen.
📐 Grundaufbau von SELECT
FROM tabelle
WHERE bedingung;
- SELECT: "Zeige mir diese Spalten"
- FROM: "Aus dieser Tabelle"
- WHERE: "Aber nur die Zeilen, die diese Bedingung erfüllen"
🔍 Beispiel-Datenbank: Streaming-Dienst
Tabelle: nutzer
| id | username | alter | premium |
|---|---|---|---|
| 1 | anna_m | 16 | ja |
| 2 | max_k | 15 | nein |
| 3 | lisa_w | 17 | ja |
Tabelle: filme
| id | titel | genre | jahr |
|---|---|---|---|
| 1 | Avengers | Action | 2012 |
| 2 | Titanic | Drama | 1997 |
| 3 | Toy Story | Animation | 1995 |
💡 SQL-Abfragen Schritt für Schritt
1. Alle Daten aus einer Tabelle
→ Zeigt alle Spalten aller Nutzer
2. Nur bestimmte Spalten
→ Nur Namen und Alter, nicht id oder premium
3. Mit Bedingung (WHERE)
WHERE premium = 'ja';
→ Nur Premium-Nutzer zeigen
4. Mehrere Bedingungen
WHERE alter >= 16 AND premium = 'ja';
→ Premium-Nutzer ab 16 Jahren
⚡ WHERE-Bedingungen: Der mächtige Filter
**WHERE** ist der **Superheld der Datenbankabfragen**. Statt alle 1 Million Nutzer zu bekommen, findest du exakt die 3 Nutzer, die dich interessieren!
🔢 Zahlen vergleichen
WHERE alter > 15
WHERE alter >= 16
WHERE alter < 18
WHERE alter != 15
= gleich, > größer, >= größer-gleich, < kleiner, != ungleich
📝 Text vergleichen
WHERE genre = 'Action'
WHERE titel LIKE 'Toy%'
WHERE titel LIKE '%story'
LIKE mit % = Platzhalter (% = beliebige Zeichen)
🔗 Mehrere Bedingungen
WHERE genre = 'Action' OR genre = 'Drama'
WHERE NOT premium = 'ja'
AND = beide wahr, OR = eine wahr, NOT = umkehren
📊 Bereiche und Listen
WHERE genre IN ('Action', 'Drama')
WHERE titel IS NOT NULL
BETWEEN = Bereich, IN = Liste, NULL = leer
🎮 Interaktive SQL-Übungen
**Jetzt bist du dran!** Probiere SQL direkt im Browser aus. Keine Installation nötig - einfach klicken und loslegen:
🎯 Übungsaufgaben für W3Schools
Öffne W3Schools (Link oben) und probiere diese Abfragen aus:
- SELECT * FROM Customers; (Alle Kunden anzeigen)
- SELECT CustomerName, City FROM Customers; (Nur Name und Stadt)
- SELECT * FROM Customers WHERE Country = 'Germany'; (Deutsche Kunden)
- SELECT * FROM Customers WHERE City LIKE 'B%'; (Städte mit B)
- SELECT * FROM Products WHERE Price > 20; (Teure Produkte)
🏆 Challenge: Eigene Abfragen
- Finde alle Produkte zwischen 10€ und 30€
- Zeige nur Kunden aus London oder Berlin
- Suche Produktnamen die "ch" enthalten
- Erstelle 3 eigene kreative SQL-Abfragen
🚀 SQL in der echten Welt
**SQL ist überall!** Fast jede App und Website nutzt SQL im Hintergrund. Hier siehst du, wie bekannte Dienste SQL verwenden könnten:
FROM posts
WHERE nutzer_id = 12345
ORDER BY datum DESC;
"Zeige die neuesten Posts von Nutzer 12345, sortiert nach Datum"
🎵 Spotify
FROM songs
WHERE genre = 'Pop'
AND release_year > 2020;
"Finde alle Pop-Songs seit 2020"
🛒 Amazon
FROM products
WHERE category = 'Smartphone'
AND price BETWEEN 200 AND 800;
"Smartphones zwischen 200€ und 800€"
🎬 Netflix
FROM movies
WHERE genre LIKE '%Action%'
AND rating >= 8.0;
"Gut bewertete Action-Filme finden"
📚 Zusätzliche Lernquellen
🎯 Bonus-Challenge: Überlege dir 5 SQL-Abfragen für dein eigenes ERM aus der letzten Stunde!
⏰ Vorbereitung für die nächste Stunde
Bearbeitungszeit: Mindestens 5 SQL-Abfragen in W3Schools ausprobieren
Nächste Stunde: Kurzkontrolle & SQL-Praxis in Access/Base
💡 Tipp: Screenshots von deinen coolsten SQL-Abfragen machen - zeigen wir in der nächsten Stunde!