MySQL Komutları
SQL'e Giriş
SQL Nedir?
MySQL Kurmak
Komut Kullanımı
Veritabanı Oluşturmak
Tablo Oluşturmak
Veri Eklemek
Sorgulama Yapmak
Kalıp İfadelerle Sorgu (pattern)
Bağlaçlar (Operatörler)
Sıralama Yapmak
Çeşitli Fonksiyonlar
Sütunları Adlandırmak
Veri/Kayıt Güncellemek
Tarihlerle İşlem
Veri / Tablo / Veritabanı Silmek

İleri Düzey SQL
Birden Fazla Tablo Sorgulama
Sonuca Başka Bir Tabloyu Katmak
Matematiksel İşlemler
Veri Türleri
Tüm Komutlar

Bağlantılar
HTML Dersleri
JavaScript Dersleri
CSS Dersleri
ASP Dersleri
PHP Dersleri
MySQL Komutları
jQuery Dersleri
Venus Programlama

Ana Sayfa Bize Ulaşın

Çeşitli Fonksiyonlar



Bu sayfada yer verdiğimiz tüm fonksiyonlar SELECT ile FROM arasında yer alan sütunları listelediğimiz alanda kullanılabilirler. Genel olarak sütunlardaki en yüksek, en düşük, toplam değerleri bulmamıza yararlar.

Benzerleri Ayırmak (DISTINCT)

Bazen veriler arasındaki benzerlikleri kaldırarak sadece benzer olmayanları listeletmek isteyebiliriz. Böyle durumlarda SELECT DISTINCT yapısı kullanılır:

Aşağıdaki verilere sahip bir "uyeler" tablomuz olduğunu düşünürsek:

SELECT * FROM uyeler;

+----+-------+----------+
| id | isim  | meslek   |
+----+-------+----------+
| 1  | Hasan | Avukat   |
| 2  | Merve | Öğretmen |
| 3  | Nazım | Öğretmen |
| 4  | Efe   | Polis    |
| 5  | Caner | Polis    |
+----+-------+----------+
   

Ve bu tabloda kaç meslek dalı olduğunu sorgulatmak istiyorsak:

SELECT DISTINCT meslek FROM uyeler;

+----------+
| meslek   |
+----------+
| Avukat   |
| Öğretmen |
| Polis    |
+----------+
   

Bu komut ile aynı işlevi gören GROUP BY sütun_adı ile de benzerler ayıklanabilir:

SELECT meslek FROM uyeler GROUP BY meslek;

+----------+
| meslek   |
+----------+
| Avukat   |
| Öğretmen |
| Polis    |
+----------+
   

Kayıtların İçerdiği En Düşük ve En Yüksek Değerler

Bir sütundaki kayıtların en düşük değerini bulmak için MIN(sütun_adı), en yüksek değerini bulmak için MAX(sütun_adı) fonksiyonlarını kullanırız:

Aşağıdaki verilere sahip bir "uyeler" tablomuz olduğunu düşünürsek:

mysql> SELECT * FROM uyeler;

+----+-------+-----+
| id | isim  | yas |
+----+-------+-----+
| 1  | Ali   | 39  |
| 2  | Gözde | 28  |
| 3  | Sevim | 24  |
| 4  | Ayşe  | 32  |
| 5  | Halil | 48  |
| 6  | Ece   | 24  |
+----+-------+-----+
   

Buradaki en düşük yaşı bulmak için:

SELECT MIN(yas) FROM uyeler;

+----+-------+
| MIN(yas)   |
+----+-------+
| 24         |
+------------+
   

En yüksek yaşı bulmak için:

SELECT MAX(yas) FROM uyeler;

+----+-------+
| MAX(yas)   |
+----+-------+
| 48         |
+------------+
   

Sütunlardaki Değerlerin Toplamını ya da Ortalamasını Bulmak

Yine yukarıdaki tabloya göre herkesin yaşları toplamını hesaplatmak istiyorsak (sütunların içerdiği değerler toplamı) SUM(sütun_adı) fonksiyonundan yararlanırız:

SELECT SUM(yas) FROM uyeler;

+----+-------+
| SUM(yas)   |
+----+-------+
| 195        |
+------------+
   

Yaşların ortalamasını hesap etmek isteseydik AVG(sütun_adı) fonksiyonu istediğimiz ortalamayı bize verecekti.

SELECT SUM(yas) FROM uyeler;

+----+-------+
| AVG(yas)   |
+----+-------+
| 32,5       |
+------------+
   

Burada anlattığımız MAX, MIN, SUM, AVG fonksiyonları ayrıca işlem yapmak için de kullanılabilir. Bu durumda sonuçlar yaptığımız işlemin sonucu olarak görünecektir:

SELECT SUM(yas) / AVG(yas) FROM uyeler;

+----+-------+
| AVG(yas)   |
+----+-------+
| 6          |
+------------+
   

Toplam Kayıt Sayısını Bulmak

Bunun için COUNT(sütun_adı) kullanılır:

SELECT COUNT(id) FROM uyeler;

+----+------+
| COUNT(id) |
+----+------+
| 6         |
+-----------+
   

Değişkenli Yapılar Oluşturmak

MySQL'de CONCAT(yazilar) komutu yardımıyla sonuçların istediğimiz bir formatta olmasını sağlayabiliriz.

Aşağıdaki gibi bir "uyeler" tablomuz olsaydı:

SELECT * FROM uyeler;

+----+-------+----------+
| id | isim  | soyad    |
+----+-------+----------+
| 1  | Seda  | Ekinci   |
| 2  | Merve | Demirkan |
| 3  | Cemil | Hikmet   |
+----+-------+----------+
   

Ve eğer amacımız isim ve soyadların birleştiği bir sorgu sütunu oluşturmak olsaydı, şu tarz bir sorgu işimizi görecekti:

SELECT CONCAT(isim, " ", soyad) FROM uyeler;

+--------------------------+
| CONCAT(isim, " ", soyad) |
+--------------------------+
| Seda Ekinci              |
| Merve Demirkan           |
| Cemil Hikmet             |
+--------------------------+
   

Tüm hakları saklıdır. Lütfen kaynak belirtmeden sitenizde yayınlamayın. Web Sitesi © 2014