MySQL veri tabanında verilerin filtrelenmesi ve sıralanması işlemlerinde kullanılabilecek birçok fonksiyon bulunmaktadır LIKE, NOT LIKE, BETWEEN ve IN fonksiyonları, verilerin istenilen şekilde düzenlenmesi ve sorgulamanın etkin bir hale getirilmesi için oldukça önemlidir WHERE ifadesinde kullanılacak bu fonksiyonlar, istenilen sonuçların elde edilmesine yardımcı olur LIKE fonksiyonu ile belirli şablonlar kullanarak veriler arasında filtreleme yaparak aranan sonuçlara ulaşabilirsiniz NOT LIKE fonksiyonu ise, belirtilen karakterlerin olmadığı sonuçları seçebilmenize olanak sağlar

MySQL veri tabanında verilerin filtrelenmesi ve sıralanması işlemlerinde kullanılabilecek birçok fonksiyon bulunmaktadır. Bu fonksiyonlar, verilerin istenilen şekilde düzenlenmesi ve sorgulamanın etkin bir hale getirilmesi için oldukça önemlidir. İşte MySQL'de veri filtreleme ve sıralama işlemlerinde kullanılacak bazı fonksiyonlar:
Fonksiyon | Açıklama |
---|---|
LIKE | Verilerin belirli bir kalıba göre filtrelenmesini sağlar |
NOT LIKE | Belirli karakterleri içermeyen sonuçları döndürür |
BETWEEN | Belirli aralıktaki verileri seçmek için kullanılır |
IN | Bir listedeki tüm değerleri bulur ve sonuçları listeler |
Yukarıda listelenen fonksiyonlar, WHERE ifadesinde kullanılarak istenilen sonuçların elde edilmesine yardımcı olur. Örneğin, LIKE fonksiyonu kullanarak belirli bir kelimeyi içeren verileri seçmek mümkündür. Benzer şekilde, NOT LIKE fonksiyonu kullanarak belirli bir karakteri içermeyen sonuçları seçebilirsiniz. BETWEEN fonksiyonu ise belirli bir aralıktaki verileri seçmek için oldukça kullanışlıdır.
IN fonksiyonu ise bir liste içindeki tüm değerleri bulur ve sonuçları listeler. Bu fonksiyon özellikle, bir veri tabanında birden fazla seçenek olduğu zaman, kullanışlı bir seçenektir. Bu fonksiyon kullanılarak, istenen seçeneklerin tümü seçilebilir ve sonuçlar listelenebilir.
WHERE İfadelerinde Kullanılabilecek Fonksiyonlar
MySQL'de, veri filtreleme işlemlerinde WHERE ifadeleri kullanılır. WHERE ifadesi, verileri filtreleyerek aranması istenen sonuçlara ulaşmamızı sağlar. Bu işlem sırasında kullanılacak bazı fonksiyonlar ise şöyle:
- LIKE Fonksiyonu: LIKE fonksiyonu, belirli bir kalıba uygun olan verilerin seçilmesi için kullanılır. Örneğin, "Ad" sütununda "A" harfi ile başlayan tüm sonuçları bulmak için "WHERE Ad LIKE 'A%'" şeklinde bir sorgu kullanılabilir.
- NOT LIKE Fonksiyonu: NOT LIKE fonksiyonu ile de veri tabanındaki belirli karakterlerin olmadığı sonuçlar döndürülür. Örneğin, "Ad" sütununda "K" harfi ile başlamayan tüm sonuçları bulmak için "WHERE Ad NOT LIKE 'K%'" şeklinde bir sorgu kullanılabilir.
- BETWEEN Fonksiyonu: BETWEEN fonksiyonu, belirlenen aralığın içinde kalan değerleri seçmek için kullanılır. Örneğin, "Tarih" sütununda 2019 yılından 2021 yılına kadar olan tüm sonuçları bulmak için "WHERE Tarih BETWEEN '2019-01-01' AND '2021-12-31'" şeklinde bir sorgu kullanılabilir.
- IN Fonksiyonu: IN fonksiyonu, bir liste içindeki tüm değerleri bulur ve sonuçları listeler. Örneğin, "Ad" sütununda "Ali", "Ayşe" ve "Mehmet" isimleri olan tüm sonuçları bulmak için "WHERE Ad IN ('Ali', 'Ayşe', 'Mehmet')" şeklinde bir sorgu kullanılabilir.
Yukarıdaki fonksiyonların her biri, verileri filtreleyerek belirli sonuçlara ulaşmak için kullanılabilir. Bu sayede, verilerin daha düzenli bir şekilde saklanması sağlanır ve istenilen veriler daha kolay bir şekilde bulunabilir. WHERE ifadesinde kullanılacak fonksiyonlar arasında tercih yapılırken, veri tabanındaki verilerin özellikleri dikkate alınmalıdır. İstenilen sonuçlar doğrultusunda en uygun fonksiyon seçilmelidir.
LIKE Fonksiyonu
MySQL'de kullanabileceğimiz fonksiyonlardan biri de LIKE fonksiyonudur. Bu fonksiyon ile belirli şablonlar kullanarak veriler arasında filtreleme yaparak aranan sonuçlara ulaşabiliriz.
LIKE fonksiyonu, aramak istediğimiz kelimenin yerine geçen karakterlerin yerini belirtmek için kullanılır. % işareti, herhangi bir karakteri ifade ederken, _ işareti ise sadece bir karakteri ifade eder. Bu şekilde arama yapmak, sonuca hızlı ve doğru bir şekilde ulaşmamızı sağlar.
Örneğin, 'Ali%' ifadesi kullanılarak veri tabanında 'Ali', 'Alihan', 'Aliye' gibi isimleri içeren sonuçlar elde edebiliriz. Benzer şekilde, 'a__a' ifadesi kullanıldığında 'Ahava', 'Akaba', 'Arama' gibi dört karakterli kelime aranabilir.
Operatör | Açıklama | Örnek Kullanımı | Sonuç |
---|---|---|---|
% | Herhangi bir karakteri ifade eder | LIKE 'Ali%' | Ali, Aliye, Alihan... |
_ | Herhangi bir tek karakteri ifade eder | LIKE 'a__a' | Akaba, Arama, Ahava... |
LIKE fonksiyonu, sadece tek bir karakter dizisiyle değil, özellikle ürünlerin adı ya da açıklaması gibi veritabanındaki uzun metinlerde arama yapmak için de kullanılabilir. Bu sayede belirli bir kelimeyi içeren tüm sonuçlara kolayca ulaşılabilir. Bu nedenle, veri tabanında arama yapmak için LIKE fonksiyonu oldukça kullanışlıdır.
NOT LIKE Fonksiyonu
MySQL'de verileri filtrelemek için kullanılan fonksiyonlar arasında NOT LIKE fonksiyonu da bulunmaktadır. Bu fonksiyon veri tabanındaki belirtilen karakterlerin olmadığı değerleri seçer ve sonuçlar bu özelliklere sahip olmayan verilerden oluşur. NOT LIKE fonksiyonu, LIKE fonksiyonunun tam tersidir.
Bu fonksiyonu kullanarak veri tabanındaki özelliklerine göre belirli kayıtları filtrelemek mümkündür. Örneğin, bir satış veritabanında "kargo ücreti" sütunu yer alıyorsa, NOT LIKE fonksiyonu kullanılarak belirli bir kargo ücreti aralığına uymayan kayıtlar seçilebilir.
Bunun yanı sıra NOT LIKE fonksiyonu ile belirli bir kelime grubundan yoksun kayıtlar da seçilebilir. Örneğin, bir yemek kitapları veritabanında "vegetaryan" kelimesi yer almıyorsa, NOT LIKE fonksiyonu kullanılarak sadece vejetaryen olmayan yemek tarifleri seçilebilir.
BETWEEN Fonksiyonu
BETWEEN fonksiyonu, iki değer arasındaki verileri seçmek için kullanılır. Bu fonksiyonu kullanarak belirli bir aralıktaki verileri arama işlemi kolaylaşır. Aralıklar, tarihler, sayılar veya harfler arasında herhangi bir şey olsa da kullanılabilir.
- BETWEEN fonksiyonu, WHERE ifadesinde kullanılır.
- İfadenin içinde, BETWEEN ve AND operatörleri arasında aralıktaki değerler belirtilir.
Otomobil modeli | Araç tipi | Yakıt tüketimi |
---|---|---|
BMW | Sedan | 7.3 |
Audi | Hatchback | 6.9 |
Mercedes | Station Wagon | 8.2 |
Yukarıdaki örnekte, 6 ve 8 arasındaki yakıt tüketimine sahip araçları seçmek için BETWEEN fonksiyonu kullanılabilir:
SELECT * FROM cars WHERE fuel_consumption BETWEEN 6 AND 8;
Bu örnekte, aralık 6 ve 8 arasındaki tüm değerleri seçer ve sonucu listeler.
IN Fonksiyonu
MySQL'de verileri sıralarken veya bir filtre uygularken bazen bir listenin içindeki tüm değerleri bulmanız gerekebilir. İşte IN fonksiyonu tam da bunun için kullanılır. IN fonksiyonu, WHERE ifadesinde kullanılır ve bir liste içindeki tüm değerleri bulur, sonuçları listeleyerek işlem tamamlanır.
IN fonksiyonun kullanımı oldukça basittir. Aşağıda örnek bir kullanımı yer almaktadır.
Column1 | Column2 |
---|---|
Value1 | Value2 |
Value3 | Value4 |
Value5 | Value6 |
Value7 | Value8 |
Yukarıdaki örnekte bir tablo yer almaktadır. Bu tablodan sütun1'de yer alan 'Value1', 'Value5' ve 'Value7' değerlerini seçmek istiyorsak WHERE ifadesinde IN fonksiyonunu kullanırız.
SELECT * FROM table_name WHERE Column1 IN ('Value1', 'Value5', 'Value7')
Yukarıdaki örnekte, IN fonksiyonu sütun1'deki 'Value1', 'Value5' ve 'Value7' değerlerini bulacak, sonuçları listeleyecek ve sadece görüntülenecektir. IN fonksiyonu aynı zamanda NOT IN olarak da kullanılabilir. NOT IN, sütunun içinde listelenmeyen tüm verileri görüntüleyecektir.
IN fonksiyonu, verileri bir listede bulmanız gerektiğinde oldukça faydalıdır. Fonksiyonu kullanarak hızlı ve kolay bir şekilde bir liste içindeki tüm değerleri bulabilir, sonuçları listeleyebilirsiniz.
Sıralama İşlemlerinde Kullanılabilecek Fonksiyonlar
MySQL’de sıralama işlemleri yapmak için kullanılan fonksiyonlar temel olarak ORDER BY, GROUP BY ve HAVING fonksiyonlarıdır. ORDER BY ile veriler belirli bir sütundaki değerlere göre sıralanabilir. Örneğin, bir tabloda yer alan öğrenci isimleri ABC sırasına göre sıralanabilir. İsterseniz bu sıralamayı tersine çevirmek de mümkündür.
GROUP BY fonksiyonu ise aynı sütunda bulunan değerleri birleştirerek sonucu gruplar. Bu fonksiyon ile örneğin, bir satış tablosundaki ürünlerin toplam satış miktarları gruplandırılarak gösterilebilir.
HAVING fonksiyonu ise GROUP BY fonksiyonu ile birlikte kullanılarak sonuçların filtrelenmesini sağlar. Örneğin, bir tabloda yer alan müşterilerin toplam satın alma miktarı gruplandırılarak gösterilir ve bu sonuçlardan yalnızca belirlenen sınırın üzerinde olanlar seçilir.
ORDER BY Fonksiyonu
MySQL'de sıralama işlemleri için temel fonksiyonlardan biri ORDER BY fonksiyonudur. Bu fonksiyon, sorgulanmış verileri belirli bir sıraya göre sıralayarak sonucu oluşturur. Sıralama işlemi genellikle alfanumerik sıraya göre olmaktadır, ancak kullanılan parametrelere göre farklı sıralama yöntemleri de kullanılabilir.
ORDER BY fonksiyonu, tek bir veya birden fazla sütuna göre sıralama yapabilir. Örneğin, aşağıdaki gibi bir sorgu kullanarak müşterilerin isimlerine göre alfabeye göre sıralayabilirsiniz:
Örnek Sorgu: |
---|
SELECT * FROM müşteriler ORDER BY isim ASC; |
Bu sorgu, müşteriler tablosunu isim sütununa göre A'dan Z'ye doğru sıralar. ASC parametresi, sıralama işleminin küçükten büyüğe doğru yapılacağını belirtir. DESC parametresi kullanırsanız sıralama işlemi büyükten küçüğe doğru yapılır.
Birden fazla sütuna göre sıralama yapmak için, sorguya ek olarak farklı sütun adlarıyla da ORDER BY fonksiyonu kullanabilirsiniz. Örneğin, aşağıdaki sorguyu kullanarak müşterileri şehir, ardından isim sütununa göre sıralayabilirsiniz:
Örnek Sorgu: |
---|
SELECT * FROM müşteriler ORDER BY şehir ASC, isim ASC; |
Bu sorgu, müşterilerin şehirlerine göre sıralanır ve daha sonra aynı şehirden olan müşteriler isimlerine göre sıralanır.
ORDER BY fonksiyonunun kullanımı, veritabanı yönetiminde en temel ve en önemli fonksiyonlardan biridir. Bu nedenle, verilerinizi doğru şekilde sıralamanız için bu fonksiyonu öğrenmeniz gerekmektedir.
GROUP BY Fonksiyonu
MySQL'de sıralama işlemleri için kullanılan önemli bir fonksiyon olan GROUP BY, belirli bir sütundaki verileri birleştirmeye ve bunları gruplamaya yarar. Sütunda aynı değere sahip olan veriler, yeni bir sütuna taşınarak tek bir satırda gösterilir.
GROUP BY fonksiyonunun kullanımı oldukça basittir. İlk olarak SELECT ifadesi ile sütunlar belirlenir. Ardından GROUP BY ifadesi, sütun adını içeren bir parametre alarak kullanılır. Bu fonksiyon, sadece belirli bir sütunda aynı olan değerleri gruplar ve sonuçları bu gruplar halinde listeler.
Örneğin, bir öğrenci tablosu düşünelim. Bu tabloda öğrencilerin isimleri, sınıfları ve notları yer alsın. Eğer aynı sınıftaki öğrencilerin not ortalamasını öğrenmek istiyorsak, GROUP BY fonksiyonunu kullanarak sınıfların birleştirilmesi, notların ortalamasının alınması ve sonuçların gruplar halinde listelenmesi mümkün olacaktır.
Öğrenci | Sınıf | Not |
---|---|---|
Ahmet | 10A | 85 |
Mehmet | 10B | 90 |
Ayşe | 10A | 80 |
Ali | 10B | 95 |
Yukarıdaki tabloda, GROUP BY fonksiyonu sınıf sütunu için uygulandığında, aynı sınıfta yer alan öğrencilerin bir araya getirildiği ve sınıfların tekrar edilmediği sonuçlar elde edilir.
Sınıf | Not Ortalaması |
---|---|
10A | 82.5 |
10B | 92.5 |
GROUP BY fonksiyonu, verilerin birleştirilmesi ve gruplanması işlemlerini hızlandırarak büyük veri kümelerinin daha etkili bir şekilde yönetilmesine yardımcı olur.
HAVING Fonksiyonu
HAVING fonksiyonu, GROUP BY fonksiyonu ile birlikte kullanıldığında sonuçların filtrelenmesini sağlar. GROUP BY fonksiyonu aynı sütunda bulunan değerleri birleştirerek sonucu gruplandırır. GROUP BY fonksiyonunu kullanarak verileri grupladıktan sonra, HAVING fonksiyonu ile grupları filtreleyebilirsiniz.
HAVING fonksiyonu, WHERE fonksiyonuna benzer ancak sonuçları gruplandırma kuralına göre filtreler. WHERE fonksiyonu, veritabanındaki verilerin herhangi bir sütununda belirli bir koşula uygun olan tüm verileri döndürürken, HAVING fonksiyonu, GROUP BY fonksiyonu ile gruplandırılmış sütunlar arasındaki koşullara göre sonuçları döndürür. Yani, HAVING fonksiyonu, filtreleme işlemini GROUP BY sütunlarına uyarlar.
Örneğin, bir şirketin çalışanları ile ilgili bir veritabanı olduğunu düşünelim. Bu veritabanında çalışanların isimleri, ücretleri ve departmanları yer alıyor. Bu veritabanındaki ücretlerin ortalamasını almak ve bu ortalamadan daha yüksek ücret alan çalışanları belirlemek istiyorsunuz. Bunun için öncelikle GROUP BY fonksiyonunu kullanarak departmanlara göre veriyi gruplayabilirsiniz. Daha sonra, HAVING fonksiyonu ile yüksek ücretli çalışanları gruplara göre seçebilirsiniz.
HAVING fonksiyonunda kullanılabilecek operatörler ise =, <>, >, <, >=, ve <= gibi karşılaştırma operatörleridir. Bu operatörler kullanılarak gruplanmış sütunlar arasında arama ve filtreleme işlemi yapabilirsiniz. HAVING fonksiyonu, gruplama işleminden sonra filtreleme yaparak daha spesifik sonuçlar elde etmenizi sağlar.
Sonuç olarak, HAVING fonksiyonu, GROUP BY fonksiyonu ile birlikte kullanılarak sonuçların gruplanmasını ve filtrelenebilmesini sağlayan bir SQL fonksiyonudur. Bu fonksiyon, veritabanındaki karmaşayı azaltır ve daha spesifik veriler elde etmenizi sağlar.