Código SQL:
Ver originalSELECT nombre, precio FROM tabla
WHERE precio=(SELECT MAX(precio) FROM TABLA WHERE precio > 0)
UNION ALL
SELECT nombre, precio FROM tabla
WHERE precio=(SELECT MIN(precio) FROM TABLA WHERE precio > 0)
El problema lo puedes tener si el precio minimo o el maximo no son unicos, es de cir que haya dos o mas productos esos precios.