Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03417.jsonl.gz/1583

Grad heute bin ich wieder auf das Problem mit Null-Werten bei Datenbank-Abfragen gestossen und halte deshalb auch die Lösung fest.
Kurz das Problem: bei Left-Joins kann es ja sein, dass kein Wert für die gewünschte Spalte zurückgeliefert wird. Das wird dann mühsam beim Auswerten. MSSQL hat dafür einen Befehl: ISNULL(fremdspalte,ersatzwert)
Genau damit kann definiert werden, welcher Wert gesetzt werden soll, wenn die Fremdspalte nichts ergibt. Ein Beispiel:
FROM Personal a
LEFT JOIN Loehne b ON a.ID = b.Personal_ID
In MySQL sieht das Ganze fast gleich aus: IFNULL(fremdspalte,ersatzwert).
FROM Personal a
LEFT JOIN Loehne b ON a.ID = b.Personal_ID
Auch in PostgreSQL lässt sich eine ensprechende Abfrage formulieren. Dabei verwenden wir die Coalesce-Funktion:
FROM personal a
LEFT JOIN loehne b ON a.id = b.personal_id
Wenn nun jemand zwar in der Personal-Tabelle vorkommt, aber keinen Lohn bezieht, wird in der Ergebnistabelle dem Wert "Einkommen" 0 zugewiesen.