If we compare them, which one wins? Why? And, what about CO2 emissions?
To compare them we need to compare the same mission (we can't compare an A380 against a regional turboprop).
For 82-86 passengers on a 1,100 km (600 NM) trip, the turboprop comes out on top (for this mission).
2.79 L/100 km/seat (Bombardier Dash 8 Q400) 3.44 L/100 km/seat (Embraer E-Jet E2-175)
Note: a Boeing 787-9 flies 304 passengers over 9,208 km at 2.31 L/100 km/seat.
From slowest to fastest, the economical choice would be turboprop, turbofan, and turbojet. Above ~700 km/h, the turboprop starts to lose.
- Turboprop: The core runs at near full power, and with a reduction gear, the propeller runs at a slow speed suited for slow flight. If the blade tips reach Mach 1, efficiency starts to go down (at a fixed RPM, blades fly faster the faster the plane).
- Turbofan: Same principle, but instead of a reduction gear, a low-pressure spool is used. And with the nacelle/shroud, the fan can run faster and move more air.
- Turbojet: The core provides the propulsive power directly, this solves the slow exhaust of the turbofan in supersonic flight.
The common theme: gas turbine cores run best near their full power. That makes a turbojet bad at slow speed / low power.
Fuel mileage and image source: Wikipedia article 'Fuel economy in aircraft' (well sourced).