SQL, PL-SQL 및 T-SQL의 차이점은 무엇입니까?


360

SQL, PL-SQL 및 T-SQL의 차이점은 무엇입니까?

누구든지이 세 가지의 차이점이 무엇인지 설명하고 각각이 적절하게 사용될 시나리오를 제공 할 수 있습니까?


1
Microsoft SQL Server가 사용하는 쿼리 언어는 ANSI 표준 구조적 쿼리 언어 인 SQL의 변형입니다. SQL Server 변형을 Transact-SQL이라고합니다.

SQL은 데이터 세트를 선택하고 조작하기위한 데이터 지향 언어입니다. PL / SQL은 응용 프로그램을 만드는 절차 적 언어

SQL은 구조화 된 쿼리 언어입니다. PL / SQL은 SQL로 확장 된 절차 언어입니다. Oracle이 개발했습니다. T-SQL은 Microsoft가 개발했습니다.

답변:


379
  • SQL 집합에서 작동하는 쿼리 언어입니다.

    SQL Server, Oracle, MySQL, PostgreSQL, DB2, Informix 등 거의 모든 관계형 데이터베이스 관리 시스템에서 다소 표준화되어 있으며 사용됩니다.

  • PL/SQL Oracle에서 사용하는 독점 절차 언어입니다.

  • PL/pgSQL PostgreSQL에서 사용하는 절차 언어입니다.

  • TSQL SQL Server에서 Microsoft가 사용하는 독점 절차 언어입니다.

절차 언어는 SQL 기능을 확장하면서 SQL과 잘 통합되도록 설계되었습니다. 지역 변수 및 문자열 / 데이터 처리와 같은 여러 기능이 추가되었습니다. 이러한 기능은 언어 튜링을 완성시킵니다.

또한 저장 프로 시저를 작성하는 데 사용됩니다. 순수한 집합 기반 작업으로는 관리하기 어렵거나 불가능한 복잡한 비즈니스 규칙을 관리하기 위해 서버에있는 코드 조각입니다.


14
TSQL은 Sybase에서도 사용됩니다. 최소한 Oracle에서 PL / SQL 프로시 저는 단순히 "비즈니스 규칙"을 관리하는 것 이상을 수행 할 수 있습니다. PL / SQL 절차는 웹 사이트에 액세스하거나 이메일을 보낼 수 있습니다.
Erich Kitzmueller

3
PL / SQL은 데이터베이스에만 존재하지 않습니다. 예를 들어 Oracle Forms에는 PL / SQL의 클라이언트 측 구현이 포함되어 있습니다.
Erich Kitzmueller

2
각 데이터베이스에는 자체 SQL 구현 (T-SQL 및 PL / SQL이 가장 일반적 임)이 있으며 ANSII 표준 SQL은 여러 백엔드가 사용될 때 종종 사용되지만 모든 데이터베이스가 모든 ANSII SQL 기능을 사용하는 것은 아닙니다. 그리고 SQ1의 데이터베이스 특정 구현은 해당 데이터베이스에 가장 적합한 성능을 나타내는 경향이 있습니다. 결국 데이터베이스를 사용해야하는 이유를 제공해야합니다.
HLGEM

2
정정 : SQL은 SQL 자체가 정의를 제공하는 테이블에서 작동하는 언어입니다. SQL 표준은 단어 'set'및 'relation'과 그 파생어를 피합니다. SQL 테이블이 설정되지 않았습니다.
언젠가

1
오라클과 SQL 서버에서 작동하는 SQL 절차 언어를 사용하는 것이 좋습니다.
RayLoveless

113

SQL

SQL은 데이터베이스와 통신하는 데 사용되며 관계형 데이터베이스 관리 시스템의 표준 언어입니다.

상세하게 구조적 쿼리 언어 는 관계형 데이터베이스 관리 시스템 (RDBMS)에 보유 된 데이터를 관리하거나 관계형 데이터 스트림 관리 시스템 (RDSMS)에있는 스트림 처리를 위해 설계된 특수 목적 프로그래밍 언어입니다.

원래 관계형 대수 및 튜플 관계형 미적분학을 기반으로하는 SQL은 데이터 정의 언어와 데이터 조작 언어로 구성됩니다. SQL의 범위에는 데이터 삽입, 쿼리, 업데이트 및 삭제, 스키마 생성 및 수정, 데이터 액세스 제어가 포함됩니다. SQL은 종종 4GL (declarative language)로 설명되어 있지만 절차 적 요소도 포함합니다.

PL / SQL

PL / SQL은 SQL과 프로그래밍 언어의 절차 적 기능을 결합한 것입니다. Oracle Corporation에 의해 개발되었습니다.

PL / SQL의 특산품

  • 휴대 성이 뛰어난 고성능 트랜잭션 처리 언어
  • 내장 된 해석 및 OS 독립적 인 프로그래밍 환경을 제공합니다.
  • 명령 행 SQL * Plus 인터페이스에서 직접 호출됩니다.
  • 데이터베이스에 대한 외부 프로그래밍 언어 호출에서 직접 호출 할 수도 있습니다.
  • 일반적인 구문은 ADA 및 Pascal 프로그래밍 언어의 구문을 기반으로합니다.
  • Oracle 외에도 TimesTen 인 메모리 데이터베이스 및 IBM DB2에서 사용할 수 있습니다.

T-SQL

선언 된 변수, 트랜잭션 제어, 오류 및 예외 처리 및 행 처리를 SQL에 추가하는 확장 된 SQL 형식의 Transaction-SQL 의 줄임말

구조적 쿼리 언어 또는 SQL은 관계형 데이터베이스 관리에 중점을 둔 프로그래밍 언어입니다. SQL 자체의 한계 는 SQL의 기능을 향상시키기 위해 자체 소프트웨어 확장 기능을 갖춘 소프트웨어 기반 Microsoft가 SQL을 기반으로 구축 할 수 있도록 자극했습니다 . Microsoft는 SQL에 코드를 추가하고이를 Transact-SQL 또는 T-SQL이라고했습니다. T-SQL은 독점적이며 Microsoft의 통제를받는 반면, IBM에서 개발 한 SQL은 이미 공개 형식입니다.

T-SQL은 SQL에서 사용할 수없는 많은 기능을 추가합니다.

여기에는 절차 적 프로그래밍 요소와 응용 프로그램의 흐름을보다 유연하게 제어 할 수있는 로컬 변수가 포함됩니다. T-SQL에는 여러 기능이 추가되어 더욱 강력 해졌습니다. 수학 연산, 문자열 연산, 날짜 및 시간 처리 등을위한 기능. 이러한 추가 기능으로 인해 T-SQL은 컴퓨팅 언어의 보편성을 결정하는 테스트 인 Turing 완전성 테스트를 준수합니다. SQL은 Turing이 완전하지 않으며 수행 할 수있는 범위가 매우 제한적입니다.

T-SQL과 SQL의 또 다른 중요한 차이점은 SQL에서 이미 사용 가능한 DELETE 및 UPDATE 명령의 변경 사항입니다. T-SQL을 사용하면 DELETE 및 UPDATE 명령 모두 JOIN을 사용할 수있는 FROM 절을 포함 할 수 있습니다. 이렇게하면 좀 더 복잡한 SQL과 달리 특정 기준과 일치하는 항목을 쉽게 선택할 수 있도록 레코드 필터링이 단순화됩니다.

T-SQL과 SQL 중 하나를 선택하는 것은 사용자의 책임입니다. 여전히 Microsoft SQL Server 설치를 처리 할 때는 T-SQL을 사용하는 것이 좋습니다. 이는 T-SQL도 Microsoft의 제품이므로 두 제품을 함께 사용하면 호환성이 극대화됩니다. 백엔드가 여러 개인 사람들이 SQL을 선호합니다.

참고 자료 , Wikipedea, 자습서 요점 : www.differencebetween.com


4
현재 가장 좋은 답변 인 IMO (그러나 manoj의 답변과 블로그 게시물도 읽을 가치가 있습니다).
salcoin

1
T-SQL은 최초의 SQL Server 버전을 만들기 위해 구입 한 데이터베이스 코드와 함께 Sybase에서 구입하지 않았습니까? 적어도 T-SQL에서 또한 내가 어떤 '공통 코드'가 생각하는 것 때문에베이스에서 작동
phil_w

실제로 Microsoft와 Sybase는 SQL Server for OS2를 공동으로 개발했습니다. 따라서 두 회사는 T-SQL 개발을 공동으로 수행했습니다. T-SQL의 두 변형 간에는 상당한 차이가 있지만 두 데이터베이스가 모두 T-SQL을 사용할 수있는 이유입니다.
alaniane

44
  • SQL데이터베이스와 통신하기위한 언어 데이터를 선택하고, 테이블, 뷰 등과 같은 데이터베이스 객체를 변경하고 생성하며, 데이터베이스 설정을 변경할 수 있습니다.
  • PL-SQL 절차 적 프로그래밍 언어 (내장 SQL 포함)
  • T-SQL SQL Server에서 사용하는 SQL 용 (프로 시저) 확장

SPL (Stored Procedure Lang)이어야하며 PL은 너무 일반적입니다 (예 : C).
samis

32

1. SQL 또는 구조적 쿼리 언어는 IBM이 제품 "System R"을 위해 개발했습니다.

이후 ANSI 는이 를 모든 쿼리 언어의 기반이되는 표준 으로 만들었으며이를 자체 데이터베이스 데이터베이스 쿼리 언어에 맞게 확장했습니다. 첫 번째 표준은 SQL-86 이고 최신은 SQL : 2011입니다.

2. T-SQL 또는 Transact-SQL은 Sybase 에서 개발 한 후 Microsoft SQL Server에서 공동 소유합니다 .

3. PL / SQL 또는 절차 언어 / SQL은 당시 "관계 소프트웨어"로 알려진 Oracle Database 였습니다 .

나는 이것을 내 블로그 게시물 에 문서화했다 .


2
이 답변은 승인 된 답변보다 더 철저하며 블로그 게시물을 잘 읽어보십시오.
salcoin

7

Structured Query Language-SQL :은 전세계 거의 모든 SGBD 공급 업체에서 사용하는 ANSI 표준입니다. 기본적으로 SQL은 데이터를 정의하고 조작하는 데 사용되는 언어입니다 [DDL 및 DML].

PL / SQL은 Oracle universe가 만든 언어입니다. PL / SQL은 프로그래밍 절차 지침을 결합하여 데이터베이스 시나리오에서 직접 작동하는 프로그램을 만들 수 있습니다.

T-SQL은 Microsoft 제품이 일부 고유 한 SQL 패턴을 정렬하는 제품입니다. 따라서 한계를 자유롭게 테스트하십시오.


1

SQL은 표준이며 Microsoft, Oracle과 같은 고유 한 언어를 사용하여이 표준을 구현하는 많은 데이터베이스 공급 업체가 있습니다.

Microsoft는 T-SQL을 사용하여 SQL 표준을 구현하여 데이터와 상호 작용하고 oracle은 PL / SQL을 사용합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.