Использование SQL для запросов к базам данных с разными СУБД - PullRequest
0 голосов
/ 26 апреля 2018

Я работал над учебником по Mode SQL ( ссылка ).В учебнике говорится, что он учит студента, как запрашивать базу данных MySQL.Насколько изменяются операторы SQL в разных СУБД?В частности, меня больше всего интересует, как MS SQL Server T-SQL и Oracle PL / SQL отличаются от синтаксиса MySQL, который я изучил?Кроме того, какие РСУБД позволят мне использовать в основном или полностью синтаксис, обсуждаемый в руководстве по Mode?

1 Ответ

0 голосов
/ 26 апреля 2018

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

Лично, в последнее десятилетие яработал почти исключительно с SQL-сервером, но я могу вам сказать, что если вы можете читать документацию, для большинства целей довольно легко переключаться с одного диалекта SQL на другой.

Кроме того, каждая СУБД имеет свои преимущества инедостатки - некоторые вещи лучше обрабатываются одним продуктом, а некоторые другим.Выбор базы данных для работы, как правило, зависит от цены лицензии, доступного оборудования, знания человека о системе rdmbs и так далее.Не существует единственного лучшего rdbms - поэтому не существует единственного лучшего sql диалекта .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...