MWCodebymw.de ↗
🗄️ SQL

SQL-Snippets

Alle Snippets für SQL — copy-&-paste-fertig, erklärt und aus der Praxis.

sql_keyset_pagination_.sqlSQL
Fortgeschritten

Keyset-Pagination – warum LIMIT ... OFFSET auf Seite 500 kriecht

OFFSET 10000 heißt für die Datenbank: zehntausend Zeilen lesen und wegwerfen. Und wenn zwischendurch jemand etwas einfügt, sieht der Nutzer beim Blättern denselben Eintrag zweimal. Beides löst dieselbe Umstellung.

27. Juli 2026 · 27 Aufrufe · · KIMit Hilfe von KI generiert
sql_fts5_volltextsuche.sqlSQL
Fortgeschritten

Volltextsuche in SQLite mit FTS5 – schneller und besser als LIKE '%wort%

LIKE '%suchwort%' kann keinen Index nutzen und liest bei jeder Suche die ganze Tabelle. FTS5 ist in SQLite eingebaut, findet auch Wortanfänge und sortiert die Treffer nach Relevanz – ohne Elasticsearch daneben.

27. Juli 2026 · 27 Aufrufe · · KIMit Hilfe von KI generiert
sql_json_sqlite_json_e.sqlSQL
Fortgeschritten

JSON in SQLite abfragen – json_extract und der ->>-Operator

Ein JSON-Feld in der Datenbank ist bequem, bis man danach filtern will. SQLite kann direkt hineinschauen – und mit einem Index auf dem richtigen Ausdruck ist das sogar schnell.

27. Juli 2026 · 28 Aufrufe · · KIMit Hilfe von KI generiert
sql_exists_vs_in.sqlSQL
Fortgeschritten

EXISTS statt IN – Unterabfragen, die auch mit NULL richtig rechnen

"Zeig mir alle Kunden, die schon mal bestellt haben" – dafür greifen die meisten zu IN (SELECT …). Das funktioniert, bis eine einzige NULL in der Unterabfrage steht: dann liefert NOT IN plötzlich gar nichts mehr. EXISTS hat dieses Problem nicht.

27. Juli 2026 · 25 Aufrufe · · KIMit Hilfe von KI generiert
sql_group_concat_liste.sqlSQL
Fortgeschritten

Werte einer Gruppe zu einer Liste zusammenfassen – GROUP_CONCAT in SQLite

Du willst pro Zeile nicht nur zählen, sondern die Werte selbst sehen – etwa alle Tags eines Beitrags als „PHP, SQL, Tipp" in einer Spalte? Genau dafür gibt es GROUP_CONCAT. Ich zeige dir die Grundform, ein eigenes Trennzeichen und wie du Dubletten sortiert loswirst.

24. Juli 2026 · 29 Aufrufe · · KIMit Hilfe von KI generiert
sql_datum_zeit_strftim.sqlSQL
Fortgeschritten

Mit Datum und Zeit rechnen in SQLite – strftime und date()

SQLite hat keinen echten Datumstyp – Zeitangaben sind Text oder Zahlen. Mit den eingebauten Funktionen date(), datetime() und strftime() gruppierst du trotzdem nach Monat, rechnest Tage dazu und formatierst sauber. Ich zeige die Muster, die ich ständig brauche.

21. Juli 2026 · 23 Aufrufe · · KIMit Hilfe von KI generiert
sql_foreign_keys_casca.sqlSQL
Fortgeschritten

Fremdschlüssel und ON DELETE CASCADE in SQLite

Ein Fremdschlüssel sorgt dafür, dass keine verwaisten Zeilen entstehen – und mit ON DELETE CASCADE räumt die Datenbank abhängige Daten automatisch mit auf. Wichtig bei SQLite: Du musst die Prüfung pro Verbindung erst einschalten.

21. Juli 2026 · 24 Aufrufe · · KIMit Hilfe von KI generiert
sql_case_when_bedingun.sqlSQL
Fortgeschritten

CASE WHEN in SQL – Bedingungen direkt in der Abfrage

Mit CASE WHEN baust du Wenn-Dann-Logik direkt in SQL: abgeleitete Spalten, Kategorien aus Zahlen und der Trick, mit dem du in einer Abfrage nach mehreren Kriterien gleichzeitig zählst (bedingte Aggregation).

21. Juli 2026 · 24 Aufrufe · · KIMit Hilfe von KI generiert
sql_cte_with_lesbar.sqlSQL
Fortgeschritten

Lesbare SQL-Abfragen mit CTEs – die WITH-Klausel

Verschachtelte Unterabfragen werden schnell unleserlich. Mit einer Common Table Expression (WITH … AS) gibst du einer Zwischenabfrage einen Namen und liest sie von oben nach unten wie einen kleinen Rechenweg. Ich zeige ein Beispiel mit Zwischenschritt.

21. Juli 2026 · 27 Aufrufe · · KIMit Hilfe von KI generiert
sql_join_inner_vs_left.sqlSQL
Einsteiger

SQL-JOINs verständlich – INNER JOIN vs. LEFT JOIN

Zwei Tabellen zusammenführen ist Alltag – und die häufigste Fehlerquelle ist der falsche JOIN-Typ. Ich erkläre dir INNER JOIN und LEFT JOIN an einem konkreten Beispiel und warum ein LEFT JOIN dir Zeilen „verstecken" kann, wenn du im WHERE nicht aufpasst.

21. Juli 2026 · 21 Aufrufe · · KIMit Hilfe von KI generiert
sql_group_by_count_hav.sqlSQL
Einsteiger

Auswerten mit GROUP BY, COUNT und HAVING – Daten gruppieren und filtern

Wie viele Einträge pro Kategorie? Welche Kunden haben mehr als drei Bestellungen? Genau dafür sind GROUP BY und HAVING da. Ich zeige dir an einem kleinen Beispiel, wie du aus rohen Zeilen eine echte Auswertung machst.

15. Juli 2026 · 27 Aufrufe · · KIMit Hilfe von KI generiert
sql_explain_query_plan.sqlSQL
Fortgeschritten

Warum ist die Abfrage langsam? EXPLAIN QUERY PLAN und der richtige Index

Wenn eine SQL-Abfrage kriecht, liegt es fast immer an einem fehlenden Index – die Datenbank liest dann die ganze Tabelle durch. Mit EXPLAIN QUERY PLAN siehst du das schwarz auf weiß, und ein Index macht aus SCAN ein schnelles SEARCH.

15. Juli 2026 · 31 Aufrufe · · KIMit Hilfe von KI generiert
← NeuereSeite 2 / 3Ältere →