Innanzitutto, poiché non esiste SQL stackexchange non sono sicuro di dove sia il posto migliore per porre questa domanda (ho discusso tra qui e programmers.stackexchange). Se questo è il posto sbagliato, per favore spostalo.
È un difetto evidente in SQL che gli input non sono sterilizzati di default e l'input dell'utente può essere eseguito. Quando si progetta SQL, sicuramente i programmatori devono aver realizzato questo fatto? Perché allora non hanno messo alcuna protezione di default contro di essa, come l'escape di default, o ancora meglio, la rielaborano completamente in modo tale che gli input dell'utente non possano mai essere eseguiti.
Gli altri linguaggi, compilati o interpretati, (come Java, Python, C, ecc.) non sembrano soffrire di una vulnerabilità simile in cui è possibile eseguire l'input dell'utente. Perché allora SQL è davvero speciale in questo caso?