SQL: Mitarbeiter mit größten und kleinsten Gehalt ausgeben. Wie "min" und "max" dranhängen?

Bild 1 - Tabelle - (programmieren, Datenbank, MySQL)

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Es gibt verschiedene Ansätze. Ein einfacher wäre folgender:

SELECT ename, sal, 'min'
FROM emp 
WHERE sal = (SELECT Min(sal) FROM emp)
UNION ALL
SELECT ename, sal, 'max'
FROM emp 
WHERE sal = (SELECT Max(sal) FROM emp)

.

aber zu deiner frage

CONCAT ist das jeweilige was du suchst

aber der query passt dann so nicht , weil sal = komisch ist


du kannst auch mit order by desc limit 1 und order by asc limit 1 arbeiten . dann hättest du nämlich den datensatz undnicht nur den maximal bzw minimal wert .

Suboptimierer  04.11.2015, 23:52

Genau! Und wenn der Datensatz zusätzlich geliefert werden soll, kann man beide Ergebnismengen mit UNION verbinden.

1