->What is the difference between SQL and T-SQL? Why would a company use one over the other?
ANSI SQL is the standard Structured Query Language. Most database vendors support SQL. T-SQL is Microsoft’s "flavor" of SQL; it is ANSI SQL with Microsoft’s extensions. A company could choose to use T-SQL over SQL if they have a database application that communicates with a MS SQL Server database only. Therefore a developer could use the "extras" for improved performance, ease of SQL coding, etc. A company could chose SQL because a front-end may have to communicate with several relational database management systems (RDBMs) therefore a programmer could rely on the fact that most database understand ANSI SQL.
è What is the difference between SQL, PL-SQL and T-SQL? Can anyone explain what the difference between these three are and a scenario where each would be relevantly used?
SQL is a query language to operate on sets. It is more or less standardized, and used by almost all relational database management systems: SQL Server, Oracle, MySQL, PostgreSQL, DB2, Informix, etc.
PL/SQL is a proprietary procedural language used by Oracle
TSQL is a proprietary procedural language used by Microsoft in SQL Server.
Procedural languages are designed to extend the SQL’s abilities while being able to integrate well with SQL. They are used to write stored procedures: pieces of code residing on the server to manage complex business rules that are hard or impossible to manage with pure set-based operations.
->What is the difference between normal SQL and T-SQL?
T-SQL is the SQL Server (and previously Sybase) version of SQL. It offers many extensions over standard ANSI SQL, which many people might call "normal" SQL.