Bu makalede SQL'de döngülerin ne olduğu ve nasıl kullanıldığı hakkında bilgi verilir WHILE ve FOR döngüleri, SQL'de en yaygın kullanılan döngülerdir Döngü kullanımının belirli kuralları vardır ve sorgu performansının dikkate alınması önemlidir WHILE döngüsü, belirli bir koşul doğru olduğu sürece işlemi yinelemek için kullanılırken, FOR döngüsü belirli bir aralıktaki sayıları veya verileri yinelemek için kullanılır WHILE döngüsünün veri seçme ve sıralama gibi işlemlerde oldukça kullanışlı olduğu örnekler verilir Döngü kullanımının veri hacmine göre dikkatli bir şekilde değerlendirilmesi gerektiği vurgulanır

SQL'de döngüler, belirli koşulların sağlandığı sürece belirli işlemleri yürütmek için kullanılır. Bu makalede, döngü kullanımının tam olarak ne olduğundan bahsedeceğiz. Döngüler, veritabanı sorgularının daha etkili hale getirilmesinde önemli bir rol oynar. Sorgulama işlemleri yaparken, belirli bir koşulun sağlandığı sürece veya belirli bir sayıda işlemi yürütmek istediğimizde döngü kullanırız. Bu sayede, sorgu işlemleri daha basit ve verimli hale gelir.
Döngüler farklı türde olabilir ve her birinin farklı kullanım alanları vardır. WHILE ve FOR döngüsü, SQL'de kullanılabilecek en yaygın döngülerdir. WHILE döngüleri, koşul doğru olduğu sürece işlemi yinelemek için kullanılırken;, FOR döngüleri de belirli bir aralıktaki sayıları veya verileri yinelemek için kullanılır. Bu makalede, her iki döngü de dahil olmak üzere döngü kullanımına dair örnekler verilecektir.
Döngü Kullanımının Temel İlkeleri
Döngü kullanımı, SQL sorgularını daha etkili hale getirmek için oldukça önemlidir. Döngü, bir işlemin belirli şartlar altında tekrarlanmasını sağlar. Bu sayede, veritabanındaki büyük miktardaki verileri tek bir işlemde işleyebilirsiniz.
Bir döngünün temel özellikleri şunlardır:
- Bir başlatma değeri
- Bir durdurma koşulu veya maksimum sayı
- Bir artış veya azalma miktarı
Döngü kullanırken, işlemin doğru bir şekilde sonlanması için doğru sayıda tekrar yapılması gerektiğini unutmamalısınız. Aksi halde, sorgu sürekli olarak çalıştırılmaya devam eder ve veritabanına zarar verebilir. Bunun için, doğru durdurma koşulunu belirlemek oldukça önemlidir.
Ayrıca, döngü kullanırken, sorgu performansına dikkat etmek önemlidir. Veritabanındaki büyük veri setleri için döngü kullanmak doğru sonuçlar almak için önemli olsa da, bazen işlemleri daha etkili ve hızlı hale getirmek için döngü yerine alternatif çözümler tercih edilebilir.
Bu nedenle, döngü kullanımını ihtiyaçlarınıza ve veri hacminize göre dikkatli bir şekilde değerlendirmelisiniz.
WHILE Döngüsü Kullanımı
WHILE döngüsü, SQL sorgularında kullanılan önemli bir yapıdır. Bu yapı, belirli bir koşulun doğru olduğu sürece, belirli bir işlemi devam ettirmenizi sağlar. Örneğin, WHILE döngüsü kullanarak bir sorgunun sonucunu belirli bir sayıya kadar yineler ve sonucu elde ederiz.
WHILE döngüsü kullanımına dair örnekler vermek gerekirse, bir sorguda verileri seçmek için kullanılabilir. Belirli bir koşul doğru olduğu sürece, sorgu sonucunda istenilen veriler elde edilebilir. Ayrıca, WHILE döngüsü kullanarak, verilerin sıralaması ve güncellenmesi işlemleri de gerçekleştirilebilir.
WHILE döngüsü ayrıca, veritabanında bulunan verilere uygulanan işlemlerde oldukça kullanışlıdır. Örneğin, bir veritabanında bulunan tüm müşterilerin adreslerini güncellemek istediğinizde, WHILE döngüsü kullanarak bu işlemi kolayca yapabilirsiniz.
WHILE döngüsü hakkında daha fazla bilgi edinmek için aşağıdaki örnekleri inceleyebilirsiniz:
- Verileri seçmek
- Verileri sıralamak
- Verileri güncellemek
WHILE Döngüsü ile Veri Seçme
Veritabanından veri seçmek için WHILE döngüsü kullanmak oldukça yararlıdır. WHILE döngüsünü kullanarak bir koşulu kontrol edebilir ve koşul doğru olduğu sürece veri seçmeye devam edebilirsiniz.
Örneğin, "müşteriler" adlı bir tabloya sahip olduğumuzu varsayalım. Bu tablodaki tüm müşterilerin adını ve soyadını almak için WHILE döngüsü kullanabilirsiniz. Aşağıdaki örnek kodu kullanarak müşteri tablosundan ad ve soyadı seçmek için bir WHILE döngüsü oluşturabilirsiniz:
DECLARE @FirstName VARCHAR(50)DECLARE @LastName VARCHAR(50)DECLARE @Count INTSET @Count = 1WHILE @Count < (SELECT COUNT(*) FROM Customers)BEGIN SELECT @FirstName = firstName, @LastName = lastName FROM Customers WHERE customerId = @Count PRINT @FirstName + ' ' + @LastName SET @Count = @Count + 1END
Bu kod, "Customers" tablosundaki tüm müşterilerin adını ve soyadını ekrana yazdırır. WHILE döngüsü, müşteri sayısını sayar ve COUNT(*) fonksiyonu aracılığıyla bağlantılı tablodaki tüm müşterileri alır. Döngü, döngünün her bir adımında veri çeker ve "PRINT" ifadesi aracılığıyla adları ve soyadları ekrana yazdırır.
Bu örnekte olduğu gibi, WHILE döngüsü veritabanından veri seçmemize ve sorgulamalarımızı daha etkili hale getirmemize yardımcı olabilir.
WHILE Döngüsü Kullanarak Veri Sıralama
WHILE döngüsü, verilerin sıralanması için de kullanılabilir. Bu teknik, verilerin belirli bir algoritmaya göre sıralanmasını sağlayabilir. WHILE döngüsü ile veri sıralaması yapmak için öncelikle sıralama algoritmasını belirlemek gerekir.
Mesela, verileri artan sıraya göre sıralamak için sıralama algoritmasını belirleyip, WHILE döngüsü kullanarak tüm verileri sırayla karşılaştırabilir ve sıralayabiliriz. Aşağıdaki tablo, örnek bir veri kümesini artan sıraya göre sıralama işlemini göstermektedir:
Veri İsmi | Veri Değeri |
---|---|
Veri 1 | 15 |
Veri 2 | 9 |
Veri 3 | 21 |
Veri 4 | 3 |
Sıralama algoritması belirlendikten sonra, WHILE döngüsü kullanarak verileri sıralamak mümkündür. Döngü içerisinde her bir veri, diğer tüm verilerle karşılaştırılır ve sıraya uygun şekilde yerleştirilir.
Yukarıdaki tabloyu örnek olarak ele alacak olursak, ilk olarak Veri 4, Veri 2 ve Veri 1 ile karşılaştırılır ve en düşük değer Veri 4 olduğundan sırayla Veri 4, Veri 2, Veri 1 ve Veri 3 şeklinde sıralanır.
WHILE döngüsü kullanarak veri sıralama işlemi oldukça basit ve etkilidir. Ancak, büyük veri kümelerinde performans sorunlarına yol açabilecek kadar yavaş olabilir. Bu nedenle kritik sistemlerde kullanılmadan önce dikkatli bir şekilde test edilmelidir.
WHILE Döngüsü ile Veri Güncelleme
WHILE döngüsü kullanarak, veritabanındaki verileri güncelleme işlemi de gerçekleştirilebilir. Örneğin, belirli bir koşulu sağladığı sürece, veri tabanındaki belirli bir sütundaki verileri güncelleyebilirsiniz.
Örnek olarak, işçi adlarının sonuna çalışma koşullarına göre bir kelime ekleyelim. Aşağıdaki kodu kullanarak bu işlemi yapabilirsiniz:
Ad | Çalışma Süresi |
---|---|
Ali | 1 Yıl |
Ayşe | 3 Ay |
Hasan | 2 Yıl |
Mehmet | 6 Ay |
Şimdi, WHILE döngüsü kullanarak çalışma süresi 1 yıldan fazla olan tüm işçilerin adlarının sonuna "kıdemli" kelimesini ekleyelim:
DECLARE @i INT = 1;DECLARE @name VARCHAR(50);DECLARE @year VARCHAR(50);WHILE @i < 5BEGIN SELECT @name = Ad, @year = [Çalışma Süresi] FROM İşçiler WHERE İd = @i; IF @year > '1 Yıl' UPDATE İşçiler SET Ad = @name + ' Kıdemli' WHERE Id = @i; SET @i = @i + 1;END
Bu kod, İşçiler tablosundaki tüm verileri tutar ve işlem sonucunda aşağıdaki gibi güncellanir:
Ad | Çalışma Süresi |
---|---|
Ali Kıdemli | 1 Yıl |
Ayşe | 3 Ay |
Hasan Kıdemli | 2 Yıl |
Mehmet | 6 Ay |
Görüldüğü gibi, WHILE döngüsü kullanarak veritabanındaki verileri etkili bir şekilde güncelleyebilir, verilerinizi işlemenize ve yönetmenize yardımcı olabilirsiniz.
WHILE Döngüsü ile Veri Ekleme
WHILE döngüsü, yeni verileri veritabanına eklemek için de kullanılabilir. Örneğin, birçok kullanıcının adı ve yaş bilgilerini içeren bir Excel tablosuna sahip olduğunuzu ve bunları bir veritabanına aktarmak istediğinizi düşünelim. Bu senaryoda, WHILE döngüsü kullanarak verileri tek tek ekleyebilirsiniz.
Öncelikle, veri kaynağını açmalı ve verileri bir değişkende tutmalısınız. Ardından, WHILE döngüsü kullanarak yeni kayıtlar ekleyebilirsiniz. Birkaç adımda WHILE döngüsü ile veri ekleme işlemi gerçekleştirilebilir:
Adım | Açıklama |
---|---|
1 | Veri kaynağını açın. |
2 | Bir değişken oluşturun. Bu değişken, veri kaynağından alınan her satırdaki verileri tutacaktır. |
3 | WHILE döngüsünü başlatın. Döngü, veri kaynağından yeni bir satır alarak başlayacak. |
4 | Veritabanı bağlantısını açın. |
5 | Değişkeni kullanarak yeni bir kayıt oluşturun ve veritabanına ekleyin. |
6 | Veritabanı bağlantısını kapatın. |
7 | WHILE döngüsünü tekrar başlatın ve yeni bir satır alın. |
8 | Veri kaynağı bittiğinde, WHILE döngüsü sonlandırılacak. |
Bu örnekte, WHILE döngüsü kullanarak veri kaynağından bir satır alarak yeni bir kayıt eklemek için bir MySQL veritabanı kullanırsanız, kod bloğu şöyle görünebilir:
SET @row_num := 0;WHILE @row_num <= (SELECT COUNT(*) FROM csv_file) DO INSERT INTO users (name, age) SELECT name, age FROM csv_file WHERE id = @row_num; SET @row_num := @row_num + 1;END WHILE;
Bu kod bloğu, veri kaynağından alınan her satır için yeni bir kullanıcı oluşturur ve adını ve yaşını veritabanına ekler.
WHILE döngüsünü veri ekleme işleminde kullanarak, büyük verisetlerini hızla işleyebilir ve veritabanına veri ekleyebilirsiniz.
FOR Döngüsü Kullanımı
FOR döngüsü, belirli bir aralıktaki sayıları veya verileri yineler. Bu döngü, WHILE döngüsünden farklı olarak, belirli bir aralıkta belirli işlemleri tekrarlamak için kullanılır.
Bu döngü türüyle öncelikle veri işleme, numaralandırma ve aralık işlemleri gerçekleştirilir. Örneğin, 1'den 10'a kadar olan sayıları ekrana yazdırmak istiyorsanız FOR döngüsünü kullanabilirsiniz.
FOR Döngüsü Örneği |
---|
FOR sayac IN 1..10 LOOP dbms_output.put_line(sayac); END LOOP; |
Yukarıdaki örnekte, "sayac" değişkeni 1'den 10'a kadar olan değerleri alarak işlemleri tekrar eder.
FOR döngüsü, SQL sorgularında özellikle INSERT INTO, UPDATE, DELETE işlemlerinde sıklıkla kullanılır. Bu sayede, belirli bir aralıktaki veriler kolayca güncellenebilir veya silinebilir.
- Örnek 1: FOR döngüsü ile belirli bir aralıktaki verileri güncelleme
- Örnek 2: FOR döngüsü ile belirli bir aralıktaki verileri silme
FOR döngüsü, WHILE döngüsü gibi belirli bir koşul için çalışmaz, sadece belirli bir aralıkta tekrarlanacak işlemler için kullanılır. FOR döngüsü, SQL ve veritabanı sorgulamalarında kullanımı basit ve etkili bir tekniktir.
FOR Döngüsü ile Veri Seçme
FOR döngüsü, SQL sorguları içinde, belirli bir aralıktaki verileri seçmek için kullanılabilir. Bu döngü tipi, veritabanında bulunan veriler arasından kolaylıkla seçim yapmanıza olanak tanır. FOR döngüsü ile veri seçme işlemi yaparken aşağıdaki adımlar izlenebilir:
- FOR döngüsü oluşturulur ve döngü değişkenleri belirlenir.
- Döngü değişkenleri, veri seçme koşulu içinde kullanılır.
- Seçilen veriler, döngü sonunda listelenir.
Aşağıdaki örnek, employees tablosundaki en düşük ve en yüksek maaşı olan çalışanların adını ve maaşını göstermektedir:
Düşük Maaşlı Çalışan | Yüksek Maaşlı Çalışan |
|
|
Yukarıdaki kod, en düşük maaşı olan çalışanın adını ve maaşını, ardından en yüksek maaşı olan çalışanın adını ve maaşını listeler. FOR döngüsü, veri seçme işlemlerinde oldukça kullanışlıdır ve çok sayıda verinin seçildiği sorgularda zamandan tasarruf sağlar.
FOR Döngüsü ile Veri Güncelleme
FOR döngüsü, verileri seçmek ve güncellemek için sıklıkla kullanılır. Bunun için genellikle bir TABLO'da sıralı bir anahtar alanı kullanılır. Bu anahtar alanı, FOR döngüsü içinde kullanarak verileri sırayla ele alabilir ve güncelleyebilirsiniz.
Örneğin, müşteri adları ve soyadları bulunan bir TABLO varsa, her müşteri için bir önceki soyadının baş harfini büyük harfle yazarak yeni bir alan oluşturmak isteyebilirsiniz. Bu işlemi FOR döngüsü kullanarak yapabilirsiniz. Aşağıdaki kod örneği ile açıklanmıştır:
Müşteri Adı | Müşteri Soyadı | Yeni Soyad Baş Harfi |
---|---|---|
Ahmet | Yılmaz | Y |
Hasan | Çelik | Ç |
Tülay | Kara | K |
Yukarıdaki örnekte, müşterilerin soyadları sırayla alınarak ilk harfleri büyük harfe çevrildi ve yeni bir alan oluşturuldu.
FOR döngüsü aynı zamanda verileri güncellemek için de kullanılabilir. Örneğin, bir TABLO'da önceki yılın ürün satış rakamları bulunuyorsa, güncellenmiş TABLO'da bu rakamların yüzde 10 artırılmış hallerini kullanmak isteyebilirsiniz. Aşağıdaki kod örneğinde bu işlem yapılmıştır:
Ürün Adı | Geçen Yıl Satış Rakamı | Güncellenmiş Satış Rakamı |
---|---|---|
Telefon | 5000 | 5500 |
Bilgisayar | 3000 | 3300 |
Televizyon | 2000 | 2200 |
Yukarıdaki örnekte FOR döngüsü, TABLO'daki tüm satırları dolaşarak geçen yılın satış rakamlarını alır, bu rakamı yüzde 10 artırır ve güncellenmiş rakamı hesaplar. Böylece, güncellenmiş TABLO'da yeni rakamlar kullanılır.