SQL is a query language to operate on sets.
It is more or less standartized, 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.