Those of us who have worked on database migration and related projects know this – a large amount of the pain occurs because different databases don’t understand the same SQL. While it would easy the pain of many-a-developer around the world if SQL was a proper standard, there are a few practical reasons why this might not happen (and might not be a good thing if it happens):
- Standardization restricts the amount of innovation that database vendors can support. In addition, backward compatibility in order to retain customers thwarts any move towards standardization.
- Database migration is big business. A lot of us would not have jobs if SQL was a standard that everyone followed :) (This is true for other kinds of standardization, for example file-format standardization)
- Because it is tough to migrate, you retain most customers most of the time.
