Örneklerle TSQL kullanımı, açıklamalarıyla beraber.

T-SQL (Transact-SQL), Microsoft SQL Server ve Sybase Adaptive Server gibi veri tabanı yönetim sistemlerinde kullanılan SQL dilinin sürümünün bir sürümüdür. Aşağıda, T-SQL’de sıklıkla kullanılan temel taşıma ve bunların açıklama örnekleriyle birlikte verilmiştir

1.SELECT : Veritabanından veri çekmek için kullanılır.

SELECT FirstName, LastName  
FROM Employees;
//Employees tablosundaki FirstName ve LastName sütunlarını döndürür.

2. WHERE: Kayıtları belirli bir koşula göre saklamak için kullanılır.

SELECT *  
FROM Employees  
WHERE Age > 30;
// Age yani yaş değerinin 30'dan büyük olan tüm çalışanları listeler.

3. INSERT: Yeni bir kayıt seçmek için kullanılır.

INSERT INTO Employees (FirstName, LastName, Age)  
VALUES ('John', 'Doe', 28);
// Employees tabloya yeni bir çalışan ekler.

4. UPDATE : Var olan bir kaydı güncellemek için kullanılır.

UPDATE Employees  
SET Age = 29  
WHERE FirstName = 'John' AND LastName = 'Doe';
//Adı "John Doe" olan çalışanın yaşını 29 olarak günceller.

5. DELETE : Tablodan belirli bir kaydı silmek için kullanılır.

DELETE FROM Employees  
WHERE Age < 25;
// Yaşı 25'ten küçük olan tüm çalışanlar siler.

6. JOIN :Birden fazla tabloyu belirli bir koşula göre birleştirmek için kullanılır.

SELECT Employees.FirstName, Departments.DepartmentName  
FROM Employees  
INNER JOIN Departments  
ON Employees.DepartmentID = Departments.DepartmentID;
//Çalışanların adları ve çalışmaları departmanların adlarını döndürür.

7. GROUP BY : Sonuçları belirli bir sütuna göre gruplandırmak için kullanılır.

SELECT DepartmentID, COUNT(*) AS EmployeeCount  
FROM Employees  
GROUP BY DepartmentID;
// Her departmanda kaç çalışan olduğunu listeliyor.

8. HAVING : Gruplamanın ardından depolamak için kullanılır.

SELECT DepartmentID, COUNT(*) AS EmployeeCount  
FROM Employees  
GROUP BY DepartmentID  
HAVING COUNT(*) > 5;
//Sadece 5'ten fazla çalışana sahip departmanları listeler.

9. ORDER BY: Sonuçları belirli bir sütuna göre sıralamak için kullanılır.

SELECT FirstName, LastName, Age  
FROM Employees  
ORDER BY Age DESC;
//Çalışanları yaşlarına göre azalan sırada listeler.

10. CASE :Şartlı mantık için kullanılır.

SELECT FirstName, LastName,  
       CASE  
           WHEN Age < 30 THEN 'GENÇ'  
           WHEN Age BETWEEN 30 AND 50 THEN 'ORTA YAŞLI'  
           ELSE 'Senior'  
       END AS AgeCategory  
FROM Employees;
//Çalışanların yaşlarına göre GENÇ veya ORTA YAŞLI kategorilerinden birini döndürür.

11. STORED PROCEDURE : Saklı bir işlemi çalıştırmak için kullanılır.

CREATE PROCEDURE GetEmployeesByDepartment  
    @DepartmentID INT  
AS  
BEGIN  
    SELECT FirstName, LastName  
    FROM Employees  
    WHERE DepartmentID = @DepartmentID;  
END;
// GetEmployeesByDepartment adında bir saklı prosedür oluşturur. Verilen DepartmentID parametresine göre çalışanları döndürür.

12. TRANSACTION : Bir işlem bloğunu atomik bir şekilde yürütmek için kullanılır.

BEGIN TRANSACTION;  

UPDATE Accounts  
SET Balance = Balance - 100  
WHERE AccountID = 1;  

UPDATE Accounts  
SET Balance = Balance + 100  
WHERE AccountID = 2;  

COMMIT;
// Hesaplar arası para transferi işlemi gerçekleştirir. İşlem tamamlanmazsa, ROLLBACK ile geri alınabilir.

13. VIEW : Sanal bir tablo oluşturmak için kullanılır.

CREATE VIEW EmployeeDetails AS  
SELECT FirstName, LastName, DepartmentName  
FROM Employees  
INNER JOIN Departments  
ON Employees.DepartmentID = Departments.DepartmentID;
//Çalışan ve departman bilgilerini birleştirerek bir görünüm oluşturur.

14. INDEX :Sorgu performansını artırmak için kullanılır.

CREATE INDEX idx_Employee_LastName  
ON Employees (LastName);
//Employees tablosundaki LastName sütununa bir indeks ekler.

15. CURSOR : Satır satır işlem yapmak için kullanılır.

DECLARE EmployeeCursor CURSOR FOR  
SELECT FirstName, LastName  
FROM Employees;  

OPEN EmployeeCursor;  
FETCH NEXT FROM EmployeeCursor;  

CLOSE EmployeeCursor;  
DEALLOCATE EmployeeCursor;
//Çalışanları satır satır işler.

OKU–>SQL Nedir? DDL, DML, DCL, TCL ve Sık kullanılan komutları nelerdir?

Write a Reply

English Translate »