Code & Formeln – Das digitale Nachschlagewerk | Digitale Start-Hilfe
Excel VBA Programmierung - Automatisierung & Makros

📸 Bild erstellt mit KI

Code & Formeln – Das digitale Nachschlagewerk

Eine wachsende Sammlung der wichtigsten Excel-Formeln, Python-Code-Snippets, SQL-Abfragen, Algorithmen und Java/C#-Beispiele. Perfekt zum Lernen, Nachschlagen und für Ihre tägliche Arbeit.

100+
Excel-Formeln
50+
Python-Code-Snippets
30+
SQL-Abfragen
40+
Algorithmen & Java/C#

Diese Excel Formelsammlung sowie die Code-Beispiele für Python, SQL, Algorithmen und Java/C# sind als kostenlose Ressource für alle gedacht, die ihre tägliche Arbeit mit Excel, Python, SQL oder Java/C# effizienter gestalten möchten. Alle Beispiele sind praxisnah und können direkt in Ihren Projekten verwendet werden.

🛠️ Meine Empfehlungen für Entwickler

Diese Tools nutze ich selbst – sie helfen Ihnen, Ihre Projekte professionell abzusichern und zu vermarkten.

* Affiliate-Links: Bei einem Kauf über diese Links erhalten wir eine kleine Provision – für Sie entstehen keine zusätzlichen Kosten.

1. Excel Formelsammlung (100+ Formeln)

Von einfachen Summen bis zu komplexen Datenbankabfragen – hier finden Sie die wichtigsten Excel-Formeln für jeden Bedarf.

🔢 Mathematik & Statistik

SUMME
Addiert alle Zahlen in einem Bereich.
=SUMME(A1:A10)
MITTELWERT
Berechnet den Durchschnitt eines Bereichs.
=MITTELWERT(A1:A10)
MAX
Ermittelt den größten Wert in einem Bereich.
=MAX(A1:A10)
MIN
Ermittelt den kleinsten Wert in einem Bereich.
=MIN(A1:A10)
ANZAHL
Zählt Zahlen in einem Bereich.
=ANZAHL(A1:A10)
ANZAHL2
Zählt nicht-leere Zellen.
=ANZAHL2(A1:A10)
RUNDEN
Rundet eine Zahl auf eine bestimmte Nachkommastelle.
=RUNDEN(3,14159; 2)
GANZZAHL
Schneidet Nachkommastellen ab.
=GANZZAHL(3,99)
PRODUKT
Multipliziert Zahlen in einem Bereich.
=PRODUKT(A1:A5)
ANZAHLWENN
Zählt Zellen basierend auf einer Bedingung.
=ANZAHLWENN(A1:A10; ">10")
SUMMEWENN
Summiert Zellen basierend auf einer Bedingung.
=SUMMEWENN(A1:A10; ">5"; B1:B10)
SUMMEWENNS
Summiert basierend auf mehreren Bedingungen.
=SUMMEWENNS(B1:B10; A1:A10; ">5"; C1:C10; "<10")
MITTELWERTWENN
Durchschnitt basierend auf einer Bedingung.
=MITTELWERTWENN(A1:A10; ">5"; B1:B10)
RANG
Gibt den Rang einer Zahl in einer Liste zurück.
=RANG(10; A1:A10)
ZUFALLSZAHL
Erzeugt eine Zufallszahl zwischen 0 und 1.
=ZUFALLSZAHL()
ZUFALLSBEREICH
Erzeugt eine Zufallszahl in einem bestimmten Bereich.
=ZUFALLSBEREICH(1; 100)
ABSOLUT
Gibt den absoluten (positiven) Wert einer Zahl zurück.
=ABSOLUT(-5)
FAKULTÄT
Berechnet die Fakultät einer Zahl (5! = 5*4*3*2*1).
=FAKULTÄT(5)
ZUFALLSZAHL
Erzeugt eine gleichverteilte Zufallszahl zwischen 0 und 1.
=ZUFALLSZAHL()
ZUFALLSBEREICH
Erzeugt eine ganzzahlige Zufallszahl zwischen Untergrenze und Obergrenze.
=ZUFALLSBEREICH(1; 100)

📅 Text & Datum

HEUTE
Gibt das aktuelle Datum zurück.
=HEUTE()
JETZT
Gibt das aktuelle Datum und die Uhrzeit zurück.
=JETZT()
TAG
Extrahiert den Tag aus einem Datum.
=TAG("01.01.2026")
MONAT
Extrahiert den Monat aus einem Datum.
=MONAT("01.01.2026")
JAHR
Extrahiert das Jahr aus einem Datum.
=JAHR("01.01.2026")
WOCHENTAG
Gibt den Wochentag als Zahl zurück.
=WOCHENTAG("01.01.2026")
KALENDERWOCHE
Gibt die Kalenderwoche zurück.
=KALENDERWOCHE("01.01.2026")
DATUM
Erstellt ein Datum aus Jahr, Monat und Tag.
=DATUM(2026; 1; 1)
TAGE
Berechnet die Anzahl der Tage zwischen zwei Daten.
=TAGE("31.12.2026"; "01.01.2026")
ARBEITSTAG
Berechnet ein Datum, das eine bestimmte Anzahl von Arbeitstagen vor oder nach einem Startdatum liegt.
=ARBEITSTAG("01.01.2026"; 10)
NETTOARBEITSTAGE
Berechnet die Anzahl der Arbeitstage zwischen zwei Daten (ohne Wochenenden).
=NETTOARBEITSTAGE("01.01.2026"; "31.12.2026")
MONATSENDE
Gibt den letzten Tag des Monats eines gegebenen Datums zurück.
=MONATSENDE("15.02.2026"; 0)
STUNDE
Extrahiert die Stunde aus einer Uhrzeit.
=STUNDE("14:30")
MINUTE
Extrahiert die Minute aus einer Uhrzeit.
=MINUTE("14:30")
SEKUNDE
Extrahiert die Sekunde aus einer Uhrzeit.
=SEKUNDE("14:30:45")

🔍 Suchen & Verweise

WVERWEIS
Durchsucht eine Tabelle nach einem Wert und gibt einen Wert aus derselben Zeile zurück.
=WVERWEIS("Suchwert"; A1:C10; 2; FALSCH)
SVERWEIS
Durchsucht eine Tabelle nach einem Wert und gibt einen Wert aus derselben Spalte zurück.
=SVERWEIS("Suchwert"; A1:C10; 2; FALSCH)
XVERWEIS
Die moderne, flexiblere Alternative zu SVERWEIS.
=XVERWEIS("Suchwert"; A1:A10; B1:B10)
INDEX
Gibt einen Wert an einer bestimmten Position in einem Bereich zurück.
=INDEX(A1:C10; 2; 3)
VERGLEICH
Gibt die Position eines Suchwerts in einem Bereich zurück.
=VERGLEICH("Suchwert"; A1:A10; 0)
HYPERLINK
Erstellt einen klickbaren Link.
=HYPERLINK("https://www.google.de"; "Google")
WAHL
Gibt einen Wert aus einer Liste basierend auf einem Index zurück.
=WAHL(2; "A"; "B"; "C")
INDIREKT
Gibt den Inhalt einer Zelle zurück, deren Adresse als Text angegeben wird.
=INDIREKT("A1")

🧠 Logik & Bedingungen

WENN
Führt eine Aktion basierend auf einer Bedingung aus.
=WENN(A1>10; "Ja"; "Nein")
UND
Gibt WAHR zurück, wenn alle Bedingungen erfüllt sind.
=UND(A1>0; B1<100)
ODER
Gibt WAHR zurück, wenn mindestens eine Bedingung erfüllt ist.
=ODER(A1>0; B1<100)
NICHT
Kehrt den Wahrheitswert einer Bedingung um.
=NICHT(A1>0)
WENNS
Überprüft mehrere Bedingungen und gibt einen entsprechenden Wert zurück.
=WENNS(A1>10; "Groß"; A1>5; "Mittel"; WAHR; "Klein")
ISTZAHL
Überprüft, ob ein Wert eine Zahl ist.
=ISTZAHL(A1)
ISTTEXT
Überprüft, ob ein Wert Text ist.
=ISTTEXT(A1)
ISTLEER
Überprüft, ob eine Zelle leer ist.
=ISTLEER(A1)
ISTFEHLER
Überprüft, ob ein Wert einen Fehler enthält.
=ISTFEHLER(A1)
ISTWENN
Überprüft, ob ein Wert ein WENN-Ergebnis ist.
=ISTWENN(A1)

📝 Text-Funktionen

LÄNGE
Gibt die Anzahl der Zeichen in einem Text zurück.
=LÄNGE("Hallo Welt")
LINKS
Extrahiert eine bestimmte Anzahl von Zeichen vom Anfang eines Textes.
=LINKS("Hallo Welt"; 5)
RECHTS
Extrahiert eine bestimmte Anzahl von Zeichen vom Ende eines Textes.
=RECHTS("Hallo Welt"; 4)
TEIL
Extrahiert eine Teilzeichenkette aus einem Text.
=TEIL("Hallo Welt"; 7; 4)
FINDEN
Sucht nach einem Text in einem anderen (Groß-/Kleinschreibung beachtend).
=FINDEN("Welt"; "Hallo Welt")
SUCHEN
Sucht nach einem Text in einem anderen (ohne Berücksichtigung der Groß-/Kleinschreibung).
=SUCHEN("welt"; "Hallo Welt")
ERSETZEN
Ersetzt einen Teil eines Textes durch einen anderen Text.
=ERSETZEN("Hallo"; 2; 3; "i")
WECHSELN
Ersetzt alle Vorkommen eines Textes durch einen anderen.
=WECHSELN("Hallo Welt"; "Welt"; "Excel")
KLEIN
Wandelt einen Text in Kleinbuchstaben um.
=KLEIN("HALLO WELT")
GROSS
Wandelt einen Text in Großbuchstaben um.
=GROSS("hallo welt")
GLÄTTEN
Entfernt überflüssige Leerzeichen aus einem Text.
=GLÄTTEN(" Hallo Welt ")
VERKETTEN
Verkettet mehrere Texte zu einem.
=VERKETTEN("Hallo"; " "; "Welt")
TEXT
Formatiert eine Zahl als Text mit einem bestimmten Format.
=TEXT(1234.56; "#,##0.00 €")

🗄️ Datenbank & Erweitert

DBSUMME
Summiert Werte in einer Datenbank, die bestimmte Kriterien erfüllen.
=DBSUMME(A1:C10; 2; E1:E2)
DBANZAHL
Zählt Datensätze in einer Datenbank, die bestimmte Kriterien erfüllen.
=DBANZAHL(A1:C10; 2; E1:E2)
DBMAX
Ermittelt den Maximalwert in einer Datenbank basierend auf Kriterien.
=DBMAX(A1:C10; 2; E1:E2)
DBMIN
Ermittelt den Minimalwert in einer Datenbank basierend auf Kriterien.
=DBMIN(A1:C10; 2; E1:E2)
FORMELTEXT
Gibt die Formel als Text zurück, die in einer Zelle steht.
=FORMELTEXT(A1)

💰 Finanzen

BW
Berechnet den Barwert einer Investition.
=BW(5%; 10; 1000)
RMZ
Berechnet die regelmäßige Zahlung für ein Darlehen.
=RMZ(5%; 10; 10000)
ZW
Berechnet den zukünftigen Wert einer Investition.
=ZW(5%; 10; -100)
IKV
Berechnet den internen Zinsfuß einer Investition.
=IKV(A1:A10)
NBW
Berechnet den Nettobarwert einer Investition.
=NBW(5%; A1:A10)
KAPZ
Berechnet die Kapitalwert einer Investition.
=KAPZ(5%; A1:A10)
ZINS
Berechnet den Zinssatz einer Investition.
=ZINS(10; 1000; -5000)

📈 Statistik (fortgeschritten)

STABW
Berechnet die Standardabweichung (Stichprobe).
=STABW(A1:A10)
STABWN
Berechnet die Standardabweichung (Grundgesamtheit).
=STABWN(A1:A10)
VARIANZ
Berechnet die Varianz (Stichprobe).
=VARIANZ(A1:A10)
VARIANZEN
Berechnet die Varianz (Grundgesamtheit).
=VARIANZEN(A1:A10)
KORREL
Berechnet den Korrelationskoeffizienten zwischen zwei Datensätzen.
=KORREL(A1:A10; B1:B10)
RANG
Gibt den Rang einer Zahl in einer Liste zurück.
=RANG(10; A1:A10)

⏰ Zeitfunktionen

ZEIT
Erstellt eine Uhrzeit aus Stunden, Minuten und Sekunden.
=ZEIT(14; 30; 45)
STUNDE
Extrahiert die Stunde aus einer Uhrzeit.
=STUNDE("14:30")
MINUTE
Extrahiert die Minute aus einer Uhrzeit.
=MINUTE("14:30")
SEKUNDE
Extrahiert die Sekunde aus einer Uhrzeit.
=SEKUNDE("14:30:45")
ZEITWERT
Wandelt einen Text in eine Excel-Uhrzeit um.
=ZEITWERT("14:30")
ZEITDIFF
Berechnet die Differenz zwischen zwei Uhrzeiten.
=B1-A1

📊 Matrix-Funktionen

MMULT
Multipliziert zwei Matrizen miteinander.
=MMULT(A1:B2; D1:E2)
TRANSPONIEREN
Kehrt die Ausrichtung einer Matrix um (Zeilen ↔ Spalten).
=TRANSPONIEREN(A1:C3)
RANG
Gibt den Rang einer Zahl in einer Liste zurück.
=RANG(10; A1:A10)
ZEILE
Gibt die Zeilennummer einer Zelle zurück.
=ZEILE(A1)
SPALTE
Gibt die Spaltennummer einer Zelle zurück.
=SPALTE(A1)

1.5 Excel VBA – Automatisierung in Excel

Grundlagen für kleine Makros, mit denen sich wiederkehrende Aufgaben direkt in Excel automatisieren lassen.

🚀 VBA-Grundlagen

Modul und Prozedur anlegen
Öffnet mit Alt + F11 den VBA-Editor. Über Einfügen > Modul entsteht ein Codebereich, in dem eine Prozedur zwischen Sub und End Sub angelegt wird.
Sub MeinMakro()
    ' Hier stehen die Anweisungen
End Sub
Wert in eine Zelle schreiben
Spricht die Zelle A1 direkt an und trägt dort den Zahlenwert 4 ein.
Range("A1").Value = 4
For-Schleife ausführen
Wiederholt einen Anweisungsblock zehnmal und schreibt die aktuelle Zahl jeweils in die nächste Zeile der ersten Spalte.
Dim i As Integer

For i = 1 To 10
    Cells(i, 1).Value = i
Next i
If-Abfrage verwenden
Prüft, ob der Wert in A1 größer als 10 ist, und führt die Meldung nur bei erfüllter Bedingung aus.
If Range("A1").Value > 10 Then
    MsgBox "Der Wert ist größer als 10."
End If
Nachricht mit MsgBox anzeigen
Zeigt dem Benutzer eine einfache Meldung in einem Dialogfenster an.
MsgBox "Hallo Welt"
Variable deklarieren
Definiert eine Variable mit einem bestimmten Datentyp.
Dim name As String
Dim alter As Integer
Datei öffnen und schließen
Öffnet eine Arbeitsmappe aus einem Pfad und schließt sie wieder.
Dim wb As Workbook
Set wb = Workbooks.Open("C:\datei.xlsx")
wb.Close SaveChanges:=False

🔄 VBA-Fortgeschritten

Zellenbereich durchlaufen
Durchläuft alle Zellen in einem Bereich und zeigt deren Werte an.
For Each zelle In Range("A1:A10")
    MsgBox zelle.Value
Next zelle
Zellfarbe ändern
Setzt die Hintergrundfarbe einer Zelle auf Rot.
Range("A1").Interior.Color = RGB(255, 0, 0)
Neues Blatt erstellen
Fügt ein neues Arbeitsblatt am Ende der Mappe ein.
Sheets.Add After:=Sheets(Sheets.Count)
Blatt löschen
Löscht ein bestimmtes Arbeitsblatt.
Application.DisplayAlerts = False
Sheets("Tabelle1").Delete
Application.DisplayAlerts = True
Fehlerbehandlung
Fängt Fehler ab und verhindert einen Programmabbruch.
On Error Resume Next
' Code der fehlschlagen könnte
If Err.Number <> 0 Then MsgBox "Fehler!"
On Error GoTo 0
Excel-Formel einfügen
Fügt eine Excel-Formel in eine Zelle ein.
Range("B1").Formula = "=SUMME(A1:A10)"
Pivot-Tabelle aktualisieren
Aktualisiert alle Pivot-Tabellen im aktiven Arbeitsblatt.
ActiveSheet.PivotTables(1).RefreshTable

2. Python – Datenanalyse & Automatisierung

Wichtige Code-Snippets für Datenanalyse, Visualisierung und Automatisierung mit Pandas, NumPy und Matplotlib.

📊 Daten laden & bereinigen

CSV laden
Lädt eine CSV-Datei in einen Pandas DataFrame.
df = pd.read_csv('daten.csv')
Excel laden
Lädt eine Excel-Datei in einen Pandas DataFrame.
df = pd.read_excel('daten.xlsx')
JSON laden
Lädt eine JSON-Datei in einen Pandas DataFrame.
df = pd.read_json('daten.json')
Leere Zeilen entfernen
Entfernt alle Zeilen mit fehlenden Werten.
df.dropna(inplace=True)
Duplikate entfernen
Entfernt alle doppelten Zeilen.
df.drop_duplicates(inplace=True)
Spalte auswählen
Wählt eine bestimmte Spalte aus.
df['Spaltenname']
Mehrere Spalten auswählen
Wählt mehrere Spalten aus.
df[['Spalte1', 'Spalte2']]
Nach Bedingung filtern
Filtert Zeilen basierend auf einer Bedingung.
df[df['Umsatz'] > 1000]
Daten gruppieren
Gruppiert Daten nach einer Spalte.
df.groupby('Monat').sum()
Erste Zeilen anzeigen
Zeigt standardmäßig die ersten fünf Zeilen des DataFrames an.
df.head()
Letzte Zeilen anzeigen
Zeigt standardmäßig die letzten fünf Zeilen des DataFrames an.
df.tail()
DataFrame-Informationen
Gibt Spalten, Datentypen, Speicherbedarf und die Anzahl der vorhandenen Werte kompakt aus.
df.info()
Statistische Zusammenfassung
Zeigt statistische Kennzahlen für numerische Spalten an.
df.describe()
Datentyp ändern
Ändert den Datentyp einer Spalte.
df['Spalte'] = df['Spalte'].astype('float')
Neue Spalte hinzufügen
Fügt eine neue Spalte mit einem berechneten Wert hinzu.
df['NeueSpalte'] = df['Umsatz'] * 1.19

📈 Daten visualisieren

Liniendiagramm
Erstellt ein Liniendiagramm.
plt.plot(x, y)
Balkendiagramm
Erstellt ein Balkendiagramm.
plt.bar(x, y)
Streudiagramm
Erstellt ein Streudiagramm.
plt.scatter(x, y)
Histogramm
Erstellt ein Histogramm.
plt.hist(data)
Boxplot
Erstellt einen Boxplot zur Verteilungsanzeige.
plt.boxplot(data)
Titel hinzufügen
Fügt dem Diagramm einen Titel hinzu.
plt.title('Mein Diagramm')
Achsen beschriften
Beschriftet die X- und Y-Achse.
plt.xlabel('X-Achse'); plt.ylabel('Y-Achse')
Plot als Bild speichern
Speichert die aktuelle Matplotlib-Abbildung als PNG-Datei.
plt.savefig('plot.png')
Mehrere Plots in einer Figur
Erstellt mehrere Diagramme in einer Abbildung.
fig, axes = plt.subplots(2, 2)
axes[0,0].plot(x, y)
Gitter anzeigen
Aktiviert das Gitter im Diagramm.
plt.grid(True)
Legende hinzufügen
Fügt eine Legende zum Diagramm hinzu.
plt.legend(['Datenreihe 1'])

🤖 Automatisierung

Schleife (for)
Durchläuft eine Liste.
for item in liste: print(item)
Schleife (while)
Führt Code aus, solange eine Bedingung wahr ist.
while i < 10: print(i); i += 1
Bedingung (if)
Führt Code aus, wenn eine Bedingung wahr ist.
if x > 10: print('Groß')
Bedingung (elif/else)
Mehrere Bedingungen abfragen.
if x > 10: print('Groß')
elif x > 5: print('Mittel')
else: print('Klein')
Funktion definieren
Definiert eine wiederverwendbare Funktion.
def meine_funktion(x): return x * 2
List Comprehension
Erstellt eine neue Liste basierend auf einer vorhandenen.
[x*2 for x in range(10)]
Lambda-Funktion
Erstellt eine anonyme Funktion.
lambda x: x * 2
API-Anfrage
Sendet eine GET-Anfrage an eine API.
response = requests.get('https://api.example.com')
JSON parsen
Wandelt JSON in ein Python-Dictionary um.
data = response.json()
Datei schreiben
Schreibt Text in eine Datei.
with open('datei.txt', 'w') as f: f.write('Hallo')
Datei lesen
Liest den Inhalt einer Datei.
with open('datei.txt', 'r') as f: inhalt = f.read()
Mittelwert einer Spalte berechnen
Berechnet den arithmetischen Mittelwert aller vorhandenen Werte in der Spalte Umsatz.
df['Umsatz'].mean()
Summe einer Spalte berechnen
Berechnet die Summe aller Werte in der Spalte Umsatz.
df['Umsatz'].sum()
Min/Max einer Spalte berechnen
Ermittelt den kleinsten oder größten Wert einer Spalte.
df['Umsatz'].min()
df['Umsatz'].max()
DataFrame speichern
Speichert den DataFrame als CSV-Datei.
df.to_csv('ausgabe.csv', index=False)

📐 NumPy & weitere

Array erstellen
Erstellt ein NumPy-Array.
arr = np.array([1, 2, 3, 4, 5])
Null-Array erstellen
Erstellt ein Array mit Nullen.
zeros = np.zeros((3, 4))
Eins-Array erstellen
Erstellt ein Array mit Einsen.
ones = np.ones((2, 3))
Mathematische Operationen
Elementweise Berechnung auf Arrays.
arr1 + arr2
arr1 * arr2
np.sqrt(arr)
Statistische Funktionen
Berechnet Statistiken auf Arrays.
np.mean(arr)
np.median(arr)
np.std(arr)
Datum/Zeit mit datetime
Arbeitet mit Datums- und Zeitwerten.
from datetime import datetime
heute = datetime.now()

3. SQL – Datenbankabfragen

Die wichtigsten SQL-Abfragen für den täglichen Umgang mit relationalen Datenbanken.

📋 Basis-Abfragen

SELECT
Wählt alle Spalten aus einer Tabelle aus.
SELECT * FROM kunden;
SELECT mit Bedingung
Wählt Daten basierend auf einer Bedingung aus.
SELECT * FROM kunden WHERE stadt = 'Karlsruhe';
ORDER BY
Sortiert die Ergebnisse.
SELECT * FROM kunden ORDER BY name ASC;
ORDER BY DESC
Sortiert absteigend.
SELECT * FROM kunden ORDER BY umsatz DESC;
LIMIT
Begrenzt die Anzahl der Ergebnisse.
SELECT * FROM kunden LIMIT 10;
OFFSET
Überspringt eine bestimmte Anzahl von Ergebnissen.
SELECT * FROM kunden LIMIT 10 OFFSET 5;
DISTINCT
Entfernt Duplikate.
SELECT DISTINCT stadt FROM kunden;
INSERT
Fügt einen neuen Datensatz ein.
INSERT INTO kunden (name, stadt) VALUES ('Max', 'Berlin');
UPDATE
Aktualisiert vorhandene Daten.
UPDATE kunden SET stadt = 'Hamburg' WHERE id = 1;
DELETE
Löscht einen Datensatz.
DELETE FROM kunden WHERE id = 1;
CREATE TABLE
Erstellt eine neue Tabelle.
CREATE TABLE kunden (id INT PRIMARY KEY, name VARCHAR(100));
DROP TABLE
Löscht eine Tabelle.
DROP TABLE kunden;
ALTER TABLE
Fügt eine Spalte hinzu.
ALTER TABLE kunden ADD COLUMN email VARCHAR(100);

🔗 Verknüpfungen

INNER JOIN
Verknüpft zwei Tabellen über einen gemeinsamen Wert.
SELECT * FROM kunden INNER JOIN bestellungen ON kunden.id = bestellungen.kunden_id;
LEFT JOIN
Verknüpft Tabellen und behält alle Einträge der linken Tabelle.
SELECT * FROM kunden LEFT JOIN bestellungen ON kunden.id = bestellungen.kunden_id;
RIGHT JOIN
Verknüpft Tabellen und behält alle Einträge der rechten Tabelle.
SELECT * FROM kunden RIGHT JOIN bestellungen ON kunden.id = bestellungen.kunden_id;
FULL OUTER JOIN
Verknüpft Tabellen und behält alle Einträge beider Tabellen.
SELECT * FROM kunden FULL OUTER JOIN bestellungen ON kunden.id = bestellungen.kunden_id;
CROSS JOIN
Kombiniert jede Zeile der ersten mit jeder Zeile der zweiten Tabelle.
SELECT * FROM kunden CROSS JOIN produkte;
SELF JOIN
Verknüpft eine Tabelle mit sich selbst.
SELECT a.name, b.name FROM mitarbeiter a, mitarbeiter b WHERE a.chef_id = b.id;

📊 Aggregation & Gruppierung

GROUP BY
Gruppiert Daten nach einer Spalte.
SELECT stadt, COUNT(*) FROM kunden GROUP BY stadt;
HAVING
Filtert gruppierte Daten.
SELECT stadt, COUNT(*) FROM kunden GROUP BY stadt HAVING COUNT(*) > 5;
SUM
Berechnet die Summe einer Spalte.
SELECT SUM(umsatz) FROM bestellungen;
AVG
Berechnet den Durchschnitt einer Spalte.
SELECT AVG(preis) FROM produkte;
MAX / MIN
Ermittelt den größten/kleinsten Wert.
SELECT MAX(preis) FROM produkte;
COUNT
Zählt die Anzahl der Einträge.
SELECT COUNT(*) FROM kunden;
COUNT(DISTINCT)
Zählt eindeutige Werte in einer Spalte.
SELECT COUNT(DISTINCT stadt) FROM kunden;

🔍 Fortgeschrittene Abfragen

LIKE (Muster-Suche)
Sucht nach einem Muster in einer Spalte.
SELECT * FROM kunden WHERE name LIKE 'M%';
IN (Wertebereich)
Überprüft, ob ein Wert in einer Liste von Werten enthalten ist.
SELECT * FROM kunden WHERE stadt IN ('Berlin', 'München');
BETWEEN (Wertekategorie)
Überprüft, ob ein Wert zwischen zwei Werten liegt.
SELECT * FROM produkte WHERE preis BETWEEN 10 AND 20;
IS NULL
Überprüft, ob ein Wert NULL ist.
SELECT * FROM kunden WHERE email IS NULL;
IS NOT NULL
Überprüft, ob ein Wert nicht NULL ist.
SELECT * FROM kunden WHERE email IS NOT NULL;
UNION
Vereinigt die Ergebnisse zweier Abfragen (entfernt Duplikate).
SELECT name FROM kunden UNION SELECT name FROM lieferanten;
UNION ALL
Vereinigt die Ergebnisse zweier Abfragen (behält Duplikate).
SELECT name FROM kunden UNION ALL SELECT name FROM lieferanten;
SUBQUERY (Unterabfrage)
Eine Abfrage innerhalb einer anderen Abfrage.
SELECT * FROM kunden WHERE id IN (SELECT kunden_id FROM bestellungen);
EXISTS
Überprüft, ob eine Unterabfrage Ergebnisse liefert.
SELECT * FROM kunden WHERE EXISTS (SELECT 1 FROM bestellungen WHERE kunden_id = kunden.id);
CASE (Bedingte Logik)
Führt bedingte Logik in einer Abfrage aus.
SELECT name, CASE WHEN umsatz > 1000 THEN 'Groß' ELSE 'Klein' END FROM kunden;

4. Algorithmen & Programmierkonzepte

Die grundlegenden Bausteine der Informatik: Sortieren, Suchen, Datenstrukturen und mathematische Algorithmen.

📈 Sortieralgorithmen

Bubble Sort
Einfachster Sortieralgorithmus (vergleicht benachbarte Elemente).
for i in range(n): for j in range(0, n-i-1): if arr[j] > arr[j+1]: swap
Quick Sort
Teile-und-Herrsche-Algorithmus (wählt ein Pivot-Element).
pivot = arr[high]; i = low-1; for j in range(low, high): ...
Merge Sort
Teilt das Array in zwei Hälften und fügt sie sortiert zusammen.
merge_sort(arr): if len(arr) > 1: mid = len(arr)//2; L = arr[:mid]; ...
Insertion Sort
Sortiert durch Einfügen des aktuellen Elements an die richtige Stelle.
for i in range(1, len(arr)): key = arr[i]; j = i-1; while j >=0 and key < arr[j]: ...
Selection Sort
Wählt wiederholt das kleinste Element und tauscht es an die richtige Position.
for i in range(len(arr)): min_idx = i; for j in range(i+1, len(arr)): if arr[j] < arr[min_idx]: min_idx = j; swap
Heap Sort
Verwendet einen binären Heap für die Sortierung.
heapify(arr); for i in range(n-1, 0, -1): swap(arr[0], arr[i]); heapify(arr, i, 0)

🔎 Suchalgorithmen

Lineare Suche
Durchläuft jedes Element von Anfang bis Ende.
for i in range(len(arr)): if arr[i] == ziel: return i
Binäre Suche
Sucht in einem *sortierten* Array durch wiederholtes Halbieren.
low = 0; high = len(arr)-1; while low <= high: mid = (low+high)//2; ...
Breadth-First Search (BFS)
Durchläuft einen Graphen Ebene für Ebene.
queue = [start]; while queue: node = queue.pop(0); ...
Depth-First Search (DFS)
Durchläuft einen Graphen in die Tiefe (Rekursion/Stack).
def dfs(node): visit(node); for neighbor in node.neighbors: dfs(neighbor)
Dijkstra (kürzester Weg)
Findet den kürzesten Weg in einem gewichteten Graphen.
dist = [inf] * n; dist[start] = 0; heap = [(0, start)]; while heap: ...
A*-Algorithmus
Erweiterung von Dijkstra mit einer Heuristik.
open_set = [(start, 0)]; while open_set: current = min(open_set, key=lambda x: x[1]); ...

📚 Datenstrukturen

Stack (Stapel)
LIFO (Last-In-First-Out).
stack.push(10); letztes = stack.pop();
Queue (Warteschlange)
FIFO (First-In-First-Out).
queue.enqueue(10); erstes = queue.dequeue();
Binary Tree (Binärbaum)
Jeder Knoten hat maximal zwei Kinder (Links/Rechts).
class Node: def __init__(self, val): self.left = None; self.right = None; self.val = val
Binary Search Tree (BST)
Binärbaum mit sortierter Struktur (links < Wurzel < rechts).
def insert(root, val): if root is None: return Node(val); if val < root.val: root.left = insert(root.left, val); ...
Hash Table (Hashtabelle)
Speichert Key-Value-Paare für schnellen Zugriff (O(1)).
dict = {}; dict["key"] = "value"; print(dict["key"])
Heap (Priority Queue)
Speichert Elemente mit Priorität (Minimum oder Maximum an der Spitze).
heap = []; heapq.heappush(heap, 5); min_val = heapq.heappop(heap)
Linked List (Verkettete Liste)
Elemente sind über Verweise (Pointer) miteinander verbunden.
class Node: def __init__(self, val): self.val = val; self.next = None
Graph (Graph)
Knoten (Vertices) mit Kanten (Edges) verbunden.
graph = {'A': ['B', 'C'], 'B': ['A', 'D'], ...}

🧮 Mathematik & Rekursion

Rekursion (Fakultät)
Eine Funktion, die sich selbst aufruft.
def fak(n): return 1 if n <= 1 else n * fak(n-1)
Fibonacci-Zahlen
Jede Zahl ist die Summe der beiden vorherigen Zahlen.
f(0) = 0; f(1) = 1; f(n) = f(n-1) + f(n-2)
Primzahltest
Überprüft, ob eine Zahl nur durch 1 und sich selbst teilbar ist.
for i in range(2, int(n**0.5)+1): if n % i == 0: return False
Größter Gemeinsamer Teiler (GGT)
Berechnet den GGT zweier Zahlen (Euklidischer Algorithmus).
while b: a, b = b, a % b; return a
Kleinstes Gemeinsames Vielfaches (KGV)
Berechnet das KGV zweier Zahlen.
kgv = a * b // ggt(a, b)
Potenz (Exponentiation)
Berechnet a^b (schnell durch Quadrieren).
def power(a, b): if b == 0: return 1; if b % 2 == 0: return power(a*a, b//2); else: return a * power(a*a, (b-1)//2)
Permutation
Anzahl der Anordnungen von n Elementen.
def perm(n, k): return fak(n) // fak(n-k)
Kombination
Anzahl der Möglichkeiten, k Elemente aus n auszuwählen.
def comb(n, k): return fak(n) // (fak(k) * fak(n-k))

5. Java & C# – Backend-Code

Typische Code-Snippets für Backend-Logik, APIs und Objektorientierung.

☕ Java

Klasse & Objekt
Definiert eine einfache Klasse.
public class Kunde { String name; }
Konstruktor
Initialisiert ein neues Objekt.
public Kunde(String name) { this.name = name; }
Getter & Setter
Zugriff auf private Felder.
public String getName() { return name; }
public void setName(String name) { this.name = name; }
Methode
Definiert eine Methode.
public void begruessen() { System.out.println("Hallo"); }
Vererbung
Erbt von einer anderen Klasse.
public class Mitarbeiter extends Kunde { ... }
Interface
Definiert einen Vertrag für Klassen.
interface Berechenbar { double berechne(); }
ArrayList
Dynamische Liste.
List<String> list = new ArrayList<>();
list.add("Hallo");
HashMap
Key-Value-Speicher.
Map<String, Integer> map = new HashMap<>();
map.put("Schlüssel", 42);
Exception Handling
Fängt Fehler ab.
try { ... } catch (Exception e) { ... }
For-Schleife
Durchläuft eine Liste.
for (String name : namen) { System.out.println(name); }
If-Else
Bedingte Ausführung.
if (x > 10) { ... } else { ... }

💻 C#

Klasse & Objekt
Definiert eine einfache Klasse in C#.
public class Kunde { public string Name { get; set; } }
Konstruktor
Initialisiert ein neues Objekt.
public Kunde(string name) { Name = name; }
LINQ-Abfrage
Filtert eine Liste mit LINQ.
var ergebnis = kunden.Where(k => k.Stadt == "Karlsruhe");
Async / Await
Führt asynchrone Operationen aus.
public async Task<string> LadeDaten() { ... }
List
Dynamische Liste.
List<string> list = new List<string>();
list.Add("Hallo");
Dictionary
Key-Value-Speicher.
Dictionary<string, int> dict = new Dictionary<string, int>();
dict.Add("Schlüssel", 42);
Exception Handling
Fängt Fehler ab.
try { ... } catch (Exception e) { ... }
ForEach-Schleife
Durchläuft eine Liste.
foreach (string name in namen) { Console.WriteLine(name); }
If-Else
Bedingte Ausführung.
if (x > 10) { ... } else { ... }
Switch-Case
Mehrfachverzweigung.
switch (tag) { case 1: Console.WriteLine("Montag"); break; ... }

Sie brauchen Hilfe bei Ihrer Datenanalyse oder Programmierung?

Kontaktieren Sie mich noch heute – ich melde mich innerhalb von 24–48 Stunden mit einem persönlichen Angebot.

📋 Jetzt unverbindlich anfragen
Datenschutz-Übersicht
digitale-start-hilfe.de

Auf dieser Website werden Cookies verwendet, um deine Nutzererfahrung zu verbessern. Du kannst in den {setting}Einstellungen{/setting} mehr erfahren oder Cookies jederzeit ablehnen.

Eine vollständige Liste aller Cookies findest du in unserer Cookie-Erklärung.

Weitere Informationen findest du in unserer Datenschutzerklärung.

Notwendige Cookies & Chatbot

Diese Cookies sind für den Betrieb der Website unbedingt erforderlich und können nicht deaktiviert werden. Dazu gehören auch grundlegende Funktionen wie der WebChatAgent (Chatbot) von WebChatAgent.com, der die direkte Kommunikation mit uns ermöglicht.