T sql чем отличается от sql
This forum has migrated to Microsoft Q&A. Visit Microsoft Q&A to post new questions.
Answered by:
Question
I SEARCHED A LOT IN GOOGLE BUT NOT SATISFIED. PLZ SHARE UR ANSWERS
Answers
Just to expand on Stone Z’s response.
The SQL "standard" is a "concept".
Every SQL Server vendor has its own implementation of the SQL language. Many are not compatible. T-SQL is MS implementation of the SQL language, P-SQL for Oracle, etc. Every server has its own specific language elements, in many cases are not implemented at all or the same by all vendors.
Also, the SQL "standard" is up to interpetation. In some cases the "standard" is not specific enough and each vendor makes assumptions on how to implement it. Sometimes completely differently.
People will argue with me, but there is no way to write complex SQL commands which run on multiple servers, although it has gotten better in the last few years. You need to write code specific to each engine, hense the "T" in T-SQL.
- Proposed as answer by gbt Monday, March 23, 2009 5:35 AM
- Marked as answer by gvee Editor Wednesday, April 1, 2009 2:05 PM
SQL is an acronym for Structrued Query Language, or Structured Query Language. It is tasked with the ANSI (American National Standards Institute) the maintenance of the database interaction standards. Relational database as the standard language, it has been many products used in commercial DBMS, making it the area of relational database has become a mainstream language, not only contains the data query functions include insert, delete, update the definition of functions and data.
T-SQL language: T-SQL is a SQL language version, and can only be used on SQL SERVER. It is the enhanced version of ANSI SQL language, providing a standard SQL command. In addition, T-SQL also make a lot of SQL allowed to fill to provide a similar C, Basic and Pascal’s basic functions, such as variable description language flow control, function, etc.
- Proposed as answer by gbt Monday, March 23, 2009 5:36 AM
- Marked as answer by gvee Editor Wednesday, April 1, 2009 2:05 PM
- Proposed as answer by gbt Monday, March 23, 2009 5:35 AM
- Marked as answer by gvee Editor Wednesday, April 1, 2009 2:05 PM
All replies
SQL is an acronym for Structrued Query Language, or Structured Query Language. It is tasked with the ANSI (American National Standards Institute) the maintenance of the database interaction standards. Relational database as the standard language, it has been many products used in commercial DBMS, making it the area of relational database has become a mainstream language, not only contains the data query functions include insert, delete, update the definition of functions and data.
T-SQL language: T-SQL is a SQL language version, and can only be used on SQL SERVER. It is the enhanced version of ANSI SQL language, providing a standard SQL command. In addition, T-SQL also make a lot of SQL allowed to fill to provide a similar C, Basic and Pascal’s basic functions, such as variable description language flow control, function, etc.
- Proposed as answer by gbt Monday, March 23, 2009 5:36 AM
- Marked as answer by gvee Editor Wednesday, April 1, 2009 2:05 PM
Just to expand on Stone Z’s response.
The SQL "standard" is a "concept".
Every SQL Server vendor has its own implementation of the SQL language. Many are not compatible. T-SQL is MS implementation of the SQL language, P-SQL for Oracle, etc. Every server has its own specific language elements, in many cases are not implemented at all or the same by all vendors.
Also, the SQL "standard" is up to interpetation. In some cases the "standard" is not specific enough and each vendor makes assumptions on how to implement it. Sometimes completely differently.
People will argue with me, but there is no way to write complex SQL commands which run on multiple servers, although it has gotten better in the last few years. You need to write code specific to each engine, hense the "T" in T-SQL.
Разница между SQL и T-SQL

SQL (structured query language) — известнейший декларативный язык программирования, используемый при создании, модификации и управлении данными в реляционных БД. T-SQL — это расширенная версия SQL, и ее особенность заключается в том, что она предназначена для работы с сервером от Microsoft. Речь идет о базе данных MS SQL — Microsoft SQL Server. Вдобавок к этому, процедурное расширение с именем T-SQL характеризуется совместимостью с БД компании Sybase (Sybase ASE, Adaptive Server Enterprise).
Но прежде чем продолжить, вспомним некоторые основы.
Теоретическое отступление
База данных представляет собой структуру, где данные имеют связи между собой. Для управления такими данными используют специализированное программное обеспечение — СУБД (системы управления базами данных). Когда говорят о базах реляционного типа (RDBMS), то подразумевают, что данные и связи между данными организованы с помощью таблиц. Кроме непосредственных данных, в таких таблицах есть идентификаторы (id), а также первичные и вторичные ключи, которые имеют связи с идентификаторами.
Работа СУБД предполагает выполнение определенных операций (создание, удаление, обновление и т. п.). Чтобы выполнение этих операций стало возможным, разработчики БД используют язык структурированных запросов SQL. Это язык стандарта ANSI/ISO, помогающий хранить данные и манипулировать ими в рамках какой-нибудь СУБД (MySQL, MSSQL, Oracle Database, IBM DB2 и пр.).
Таким образом, SQL — стандартный язык запросов к реляционным базам данных.
Пример реляционной БД: таблицы со связями и идентификаторами
Выделяют 3 вида SQL-команд:
- DDL (Data Definition Language). Команды для изменения структуры БД и связанных объектов: ALTER, CREATE, DROP.
- DML (Data Manipulation Language). Для управления данными (для вставки, просмотра и выборки, обновления, удаления и пр.): INSERT, SELECT, UPDATE, DELETE.
- DCL (Data Control Language). Для управления пользователями: GRANT, REVOKE.
Несколько слов про TSQL
В указанных выше пояснениях определили, что SQL — это язык запросов для большинства RDBMS-продуктов. Да, совместимость (compatibility) — это хорошо, но совместимости много не бывает. Именно поэтому некоторые поставщики СУБД создали собственные аналоги языков структурированных запросов (languages), а если быть точнее — расширили имеющееся решение, но уже с учетом потребностей своего продукта. Как раз таким аналогом и является процедурное расширение Transact Structure Query Language (TSQL). Это не что иное, как специализированная версия, заточенная под MS SQL Server (2012, 2016 и пр., версия неважна).
Используя TSQL-операторы, разработчик может писать запросы и выполнять нужные операции над таблицами, объединять их, добавлять ограничения, писать хранимые процедуры и индексы, осуществлять транзакции и многое другое. Язык TSQL поддерживает разные полезные функции, многие из которых присутствуют и в версии-первоисточнике. К примеру, агрегатные функции, которые выполняют вычисления на наборе значений. Либо оконные функции и инструкцию OVER (OVER определяет окно для использования оконной функции). Оконные функции не меняют выборку, как GROUP BY, а лишь добавляют дополнительную информацию о ней. Если же вспомнить JOIN, то, несмотря на одинаковую производительность конструкций JOIN и OVER, последняя предоставляет больше свободы, чем жесткий JOIN.
Как бы там не было, есть и отличия, так как в TSQL добавили:
— поддержку аутентификации Microsoft Windows;
— глобальные и локальные переменные;
— дополнительные функции, предназначенные для обработки дат, строк и пр.
Тезисно о разнице
Для закрепления материала смотрите таблицу ниже, где собраны основные тезисы.
| SQL | TSQL |
| Специфичный для предметной области язык, используется для управления данными в СУБД. | Запатентованная версия SQL от Microsoft, созданная специально для СУБД MS SQL Server в качестве аналога. |
| Язык структурированных запросов (queries). | Transact-язык структурированных запросов. |
| Разработан IBM. | Разработан Microsoft. |
| Можно встраивать SQL в TSQL. | TSQL в SQL встраивать нельзя. |
| Помогает обрабатывать и анализировать данные посредством простых запросов. | Помогает добавлять бизнес-логику в приложения. |
Очень надеемся, что после прочтения статьи вы четко уясните разницу между этими двумя аббревиатурами. Если же хотите получить действительно продвинутые знания, связанные с управлением БД, добро пожаловать на специализированный курс OTUS!
SQL vs T-SQL: Understanding the Differences
SQL and T-SQL both see heavy use in the database and data science industries. But what exactly are they? These two query languages are very similar, both in name and in what they can do, so the distinction between them can be difficult to understand.
In this post, we’re going to: define what Standard SQL and T-SQL are, investigate the differences between them, provide examples of each, and summarize which you should be learning and why.
- Define what Standard SQL and T-SQL are
- Investigate the differences between them
- Provide examples of each
- Summarize which you should be learning and why
What is Standard SQL?
Standard SQL, usually referred to simply as «SQL,» is a type of programming language called a query language. Query languages are used for communicating with a database.
SQL is used for adding, retrieving, or updating data stored in a database. It is used across many different types of databases. Meaning, if you learn the basics of SQL, you will be in a good position for a career in data.
Databases and the data stored within them are a core part of how many companies operate. An easy example is with a retailer that might store order or customer information in a database. SQL is a programming language that allows the company to work with that data.
What is T-SQL?
T-SQL, which stands for Transact-SQL and is sometimes referred to as TSQL, is an extension of the SQL language used primarily within Microsoft SQL Server. This means that it provides all the functionality of SQL but with some added extras.
You can think of it a bit like a SQL dialect — it’s very similar to regular SQL, but it has a few extras and differences that make it unique.
Despite the clear and rigid specifications of standard SQL, it does allow for database companies to add their own extensions to set them apart from other products. T-SQL is an example of this for Microsoft SQL Server databases — T-SQL is central to the software and runs most operations within it.
Most major database vendors offer their own SQL language extensions for their own products, and T-SQL is one of the most widely-used examples of these (because Microsoft SQL server is popular).
Put simply: when you are writing queries within Microsoft SQL Server, you are effectively using T-SQL. All applications that communicate with SQL Server, regardless of the application’s user interface, do so by sending T-SQL statements to the server.
However, in addition to SQL Server, other database management systems (DBMS) also support T-SQL. Another Microsoft product, Microsoft Azure SQL Database, supports most features of T-SQL.
T-SQL has been designed to make working with those databases that support it easier and more efficient.
What is the difference between SQL and T-SQL?
Now we have covered the basics of both, let’s take a look at the main differences:
Difference #1
The obvious difference is in what they are designed for: SQL is a query language used for manipulating data stored in a database. T-SQL is also a query language, but it’s an extension of SQL that is primarily used in Microsoft SQL Server databases and software.
Difference #2
SQL is open-source. T-SQL is developed and owned by Microsoft.
Difference #3
SQL statements are executed one at a time, also known as «non-procedural.» T-SQL executes statements in a «procedural» way, meaning that the code will be processed as a block, logically and in a structured order.
There are advantages and disadvantages to each approach, but from a learner perspective, this difference isn’t too important. You’ll be able to get and work with the data you want in either language, it’s just that the way you go about doing that will vary a bit depending on which language you’re using and the specifics of your query.
Difference #4
On top of these more general differences, SQL and T-SQL also have some slightly different command key words. T-SQL also features functions that are not part of regular SQL.
An example of this is how in we select the top X number of rows. In standard SQL, we would use the LIMIT keyword. In T-SQL, we use the TOP keyword.
Both of these commands do the same thing, as we can see in the examples below. Both queries will return the top ten rows in the users table ordered by the age column.
SQL Example
T-SQL Example
Difference #5
Finally, and as referenced before, T-SQL offers functionality that does not appear in regular SQL. One example is the ISNULL function. This will replace NULL values coming from a specific column. The below would return an age of “0” for any rows that have a value of NULL in the age column.
(There are ways of doing this in standard SQL too, of course, but the commands are slightly different.)
These are just a couple of code differences to give you an idea of how the two compare, but of course, there are many more. You can learn more about SQL commands with our extensive guide. And of course, Microsoft has documentation for working with T-SQL.
Which is better to learn?
If you want to work with databases in any way, or if you’re seeking a data job, learning SQL is a necessity.
As T-SQL is an extension of SQL, you will need to learn the basics of SQL before starting. If you learn T-SQL first, you will end up picking up knowledge of standard SQL anyway.
With most things, which you choose to learn should depend on what you are trying to achieve. If you are going to be working with Microsoft SQL server, then it is worth learning more about T-SQL. If you are a beginner looking to get started in using databases, then begin with learning about SQL.
If you’d like to learn more about this topic, check out Dataquest’s interactive Introduction to SQL and Databases course, and our SQL Fundamentals that help you master these skills in around 2 months.
About the author
Daniel Clark
Daniel Clark is a data visualization journalist at the Times of London. In his free time, he enjoys running and watching football.
T sql чем отличается от sql
Видео: Sql vs tsql vs plsql
SQL против T-SQL
Языки запросов используются для доступа к базам данных и управления ими. SQL и T-SQL — два популярных языка запросов, используемых сегодня. Язык структурированных запросов (SQL) — это компьютерный язык для баз данных. Он используется для доступа к данным и управления ими в системах управления реляционными базами данных (RDMS). T-SQL (Transact SQL) — это расширение SQL, разработанное Microsoft. T-SQL — это язык запросов, используемый в Microsoft SQL Server.
SQL
SQL имеет возможность вставлять данные в базу данных, запрашивать данные для получения информации, обновлять / удалять данные в базе данных и создавать / изменять схему базы данных. SQL был разработан IBM в начале 1970-х годов и первоначально назывался SEQUEL (Structured English Query Language). В языке SQL есть несколько языковых элементов, называемых предложениями, выражениями, предикатами, запросами и операторами. Среди них наиболее широко используются запросы. Запросы определяются пользователем таким образом, чтобы он / она описывал желаемые свойства подмножества данных, которые ему / ей необходимо получить из базы данных. Затем система управления базой данных выполняет необходимую оптимизацию запроса и выполняет необходимые физические операции для получения результатов запроса. SQL также позволяет включать такие типы данных, как символьные строки, битовые строки, числа, дату и время, в столбцы баз данных. Американский национальный институт стандартов (ANSI) и Международная организация по стандартизации (ISO) приняли SQL в качестве стандарта в 1986 и 1987 годах соответственно. Несмотря на то, что SQL является стандартом ANSI, существует множество различных версий языка SQL. Но для соответствия стандарту ANSI все эти версии аналогичным образом поддерживают широко используемые команды, такие как SELECT, UPDATE, DELETE, INSERT, WHERE.
T-SQL
T-SQL — это расширение SQL, разработанное Microsoft. T-SQL расширяет SQL, добавляя несколько функций, таких как процедурное программирование, локальные переменные и вспомогательные функции для обработки строк / данных. Эти особенности делают T-SQL Turing полным. Любое приложение, которому необходимо взаимодействовать с сервером Microsoft SQL, должно отправить на сервер оператор T-SQL. T-SQL предоставляет возможности управления потоком с использованием следующих ключевых слов: BEGIN и END, BREAK, CONTINUE, GOTO, IF и ELSE, RETURN, WAITFOR и WHILE. Кроме того, T-SQL позволяет добавлять предложение FROM в операторы DELETE и UPDATE. Это предложение FROM позволит вставлять объединения в операторы DELETE и UPDATE. T-SQL также позволяет вставлять в таблицу несколько строк с помощью оператора BULK INSERT. Это приведет к вставке нескольких строк в таблицу путем чтения внешнего файла, содержащего данные. Использование BULK INSERT повышает производительность, чем использование отдельных операторов INSERT для каждой строки, которую необходимо вставить.
В чем разница между SQL и T-SQL?
SQL — это компьютерный язык для баз данных, который может вставлять данные в базу данных, запрашивать данные для получения информации, обновлять / удалять данные в базе данных и создавать / изменять схему базы данных, в то время как T-SQL расширяет SQL, добавляя несколько функций. T-SQL разработан Microsoft и в основном используется на сервере Microsoft SQL. Эти функции включают процедурное программирование, локальные переменные и вспомогательные функции для обработки строк / данных. T-SQL также позволяет вставлять несколько строк в таблицу с помощью оператора BULK INSERT, который недоступен в SQL. Кроме того, T-SQL позволяет включать предложение FROM в операторы DELETE и UPDATE.