SQL имеет стандарт - 1001 * ANSI-SQL .Однако я не знаю ни одной RDMBS, которая бы полностью соответствовала этому стандарту - у каждого продукта есть свой собственный диалект.Например, в MySql вы можете использовать Where (a, b) IN (c,d)
, что на самом деле является частью стандарта, но SQL Server не позволяет этого.С другой стороны, вы можете использовать контрольные ограничения как на MySql, так и на SQL Server, и они являются частью стандарта, но MySql не будет применять их (что является одной из причин, по которой мне это не нравится - я нахожу это обманчивым)- если ограничения не будут применяться, почему они позволяют вам указать их в первую очередь? Просто вызовите сообщение о том, что MySql не поддерживает проверочные ограничения)
Лично, в последнее десятилетие яработал почти исключительно с SQL-сервером, но я могу вам сказать, что если вы можете читать документацию, для большинства целей довольно легко переключаться с одного диалекта SQL на другой.
Кроме того, каждая СУБД имеет свои преимущества инедостатки - некоторые вещи лучше обрабатываются одним продуктом, а некоторые другим.Выбор базы данных для работы, как правило, зависит от цены лицензии, доступного оборудования, знания человека о системе rdmbs и так далее.Не существует единственного лучшего rdbms - поэтому не существует единственного лучшего sql диалекта .