This one isn't half bad, but it is lacking. MSSQL has a much better query engine when your queries get complex and it uses indexes in a more sophisticated and efficient way. Also on larger databases where the DB-size exceeds the available memory by a factor of 100, you can really forget about MySQL all together while MSSQL will just keep rolling.
Also point 3 about MSSQL defaults has been moot at least since SQL Server 2000. While it does create a named constraint in the background, it supports a as minimalistic syntax as MySQL for setting defaults.
In fact, this is such a widely used syntax that you almost have to look up the overly declarative one he uses in his example to know that it even exists.
Besides that your link does give at least a light overview of the differences when it comes to programming them, so have an upvote.
Also point 3 about MSSQL defaults has been moot at least since SQL Server 2000. While it does create a named constraint in the background, it supports a as minimalistic syntax as MySQL for setting defaults.
In fact, this is such a widely used syntax that you almost have to look up the overly declarative one he uses in his example to know that it even exists.
Besides that your link does give at least a light overview of the differences when it comes to programming them, so have an upvote.