T-SQL is the term coined by Microsoft & Sybase collaboration. It's the proprietary extension of SQL of Microsoft & Sybase. T-SQL is the main RDBMS to manage & manipulate the data in sql server. Like SQL, you don't need to write strongly type T-SQL. SQL server will parse the T-SQL into sql then execute the parsed query on top of the relational database model.
Let's try to understand the T-SQL
1. SQL is a standard of ISO & ANSI.
T-SQL is a dialect of SQL.
2. Every database vendors (oracle, sybase..) implement the dialects of SQL as the main language
to handle data in their database. Therefore core language element is same across all the database vendors.
3. SQL is strongly typed checked. Every SQL statement should end with semicolon (" ; ") T-SQL: it's not mandatory to end the every statement with " ; " semicolon. e.g. "Let's say we've an employee table and we want to fetch all the records" Using SQL syntax ( semicolon is mandatory): following query will give compilation error "SELECT * FROM Employee" Using T-SQL syntax ( semicolon is optional): same query will execute successfully "SELECT * FROM Employee "
4. SQL: to get the result set from underlying table or sub-query it's mandatory
to have "SELECT", "FROM" & ""
T-SQL:
To get the result set only "SELECT" is the mandatory key-word.
Let's say you want to see the current date.
Using SQL: you've to take the help of other data source
"SELECT FROM Employee WHERE 1 = 0; "
Or some dummy table\view provided by your database vendors
"SELECT FROM DUAL ; "
Using T-SQL:
"SELECT GetDate() "
5. As per relational model all the attributes should have some name.
But using T-SQL we can get the result-set based on the expression or column levele sub-queries without any name
"SELECT
Id
, FirstName + ' ' + MiddleName + ' ' + LastName
FROM Employees "
6. According to relational model all attributes of result-set should have unique name.
T-SQL allows the query to return result-set with duplicate column-names.
T-SQL example:
"SELECT
e.Id
, d.Id
FROM Employees as e
JOIN Department as d ON e.DepartmentId = d.Id "
Comments
Post a Comment