Estoy de acuerdo con todo lo que dice Bill Karwin. Abordaré una pregunta secundaria, ¿por qué ningún DBMS popular admite SQL ANSI puro? Puedo pensar en al menos tres razones.
- El estándar va a la zaga de la tecnología. Los proveedores siempre agregan nuevas capacidades en respuesta a las necesidades del cliente, como el cifrado y la compatibilidad con JSON. Se necesita tiempo para que estas nuevas características se conviertan en estándar (y algunas podrían nunca estar estandarizadas).
- El estándar se adelanta a la tecnología. Por ejemplo, se agregaron bases de datos temporales en SQL: 2011, pero no todos los proveedores implementaron esas características.
- No es lo mejor para los vendedores. La promesa de un estándar es que si su aplicación lo cumple, será fácil portarlo de un DBMS a otro. Pero los proveedores no quieren que abandone sus sistemas, por lo que les gustaría que dependa de funciones que no encontrará en ningún otro lado.