SQL बनाम T-SQL: मुख्य अंतर
SQL (स्ट्रक्चर्ड क्वेरी लैंग्वेज) RDBMS के लिए मानक घोषणात्मक भाषा है। T-SQL (ट्रांजैक्ट-SQL) माइक्रोसॉफ्ट SQL सर्वर के लिए माइक्रोसॉफ्ट की प्रक्रियात्मक विस्तार है, जो प्रक्रियात्मक प्रोग्रामिंग निर्माण जोड़ता है।
तुलना तालिका
| क्र.सं. | पहलू | SQL | T-SQL |
|---|---|---|---|
| 1 | प्रकार | गैर-प्रक्रियात्मक (घोषणात्मक) | प्रक्रियात्मक |
| 2 | तरीके | डेटा हेरफेर और नियंत्रण फ़ंक्शन प्रदान करता है | स्थानीय चर के साथ कस्टम प्रोसीजर, फ़ंक्शन लिखने की अनुमति देता है |
| 3 | स्वामित्व | खुला मानक, सभी RDBMS में सामान्य | SQL सर्वर के लिए मालिकाना |
| 4 | क्वेरी निष्पादन | क्वेरी एक-एक करके सबमिट की जाती हैं | बैच में एकाधिक क्वेरी सबमिट की जा सकती हैं |
| 5 | विशेषताएं | DDL, DML, DQL संचालन | SQL सुविधाएँ + लेन-देन नियंत्रण, अपवाद प्रबंधन, आदि |
SQL (मानक) विशेषताएं
- DDL: CREATE, ALTER, DROP, TRUNCATE
- DML: INSERT, UPDATE, DELETE, MERGE
- DQL: SELECT, WHERE, JOIN, GROUP BY, ORDER BY
- DCL: GRANT, REVOKE
- TCL: COMMIT, ROLLBACK, SAVEPOINT
T-SQL अतिरिक्त विशेषताएं
- चर:
DECLARE @var INT = 10; - नियंत्रण प्रवाह: IF...ELSE, WHILE, BEGIN...END, CASE
- त्रुटि प्रबंधन: TRY...CATCH, THROW, RAISERROR
- लेन-देन: BEGIN TRANSACTION, COMMIT, ROLLBACK, SAVE TRANSACTION
- अस्थायी टेबल: #temp, ##global_temp
- सिस्टम फ़ंक्शन: @@IDENTITY, @@ROWCOUNT, GETDATE()
उदाहरण तुलना
-- मानक SQL (सभी डेटाबेस)
SELECT * FROM Customers WHERE Country = 'USA';
-- T-SQL (केवल SQL सर्वर)
DECLARE @Country VARCHAR(10) = 'USA';
DECLARE @MinOrders INT = 5;
IF EXISTS (SELECT 1 FROM Customers WHERE Country = @Country)
BEGIN
SELECT CustomerName, OrderCount
FROM Customers
WHERE Country = @Country AND OrderCount >= @MinOrders;
IF @@ROWCOUNT = 0
PRINT 'No customers found';
END
अन्य बोलियाँ
- PL/SQL: Oracle की प्रक्रियात्मक विस्तार
- PL/pgSQL: PostgreSQL की प्रक्रियात्मक भाषा
- PSQL: MySQL की स्टोर्ड प्रोसीजर भाषा (सरल)