MySQL Veritabanındaki Verileri Sorgulama ve Çekme Yöntemleri

MySQL Veritabanındaki Verileri Sorgulama ve Çekme Yöntemleri

MySQL veritabanı yönetim sistemi, açık kaynak kodlu bir sistemdir ve verilerin etkili yönetimi için çeşitli araçlar sunar Verilerin sorgulanması ve çekilmesi için kullanılan seçme SELECT sorgusu, bu araçlardan biridir
Bu makalede, MySQL veritabanında bulunan verileri sorgulama ve çekme yöntemleri ele alınacak Bu yöntemler arasında SELECT, WHERE, AND, OR, IN, LIKE, NOT, JOIN, INNER JOIN, LEFT JOIN, RIGHT JOIN, ORDER BY, LIMIT ve GROUP BY sorguları yer almaktadır
SELECT sorgusu, veritabanındaki belirli alanlardaki verileri tek seferde listeleyebilir WHERE sorgusu ise verileri belirli koşullara göre filtreleyebilir AND ve OR operatörleri kullanarak birden fazla koşulu birleştirebilirsiniz
IN operatörü, belirli bir listedeki değerleri seçmenizi sağlar Özellikle WHERE sorgusu ile birleştirildiğinde kullanışlıdır
Verilerin doğru şekilde seçilmesi, s

MySQL Veritabanındaki Verileri Sorgulama ve Çekme Yöntemleri

MySQL, dünyanın en popüler açık kaynaklı veritabanı yönetim sistemlerinden biridir. Verilerin etkili bir şekilde yönetilmesi için çeşitli araçlar sunar. Bu araçlardan biri de verilerin sorgulanması ve çekilmesi için kullanılan seçme (SELECT) sorgusudur.

Bu makalede MySQL veritabanında bulunan verileri sorgulama ve çekme yöntemleri ele alınacak. Sorguların yanı sıra işleçler, gruplama ve sıralama işlemleri de öğrenilecek. Anlaşılır bir şekilde ifade etmek gerekirse, veritabanında depolanan verilerimiz elimizdeki araçlar sayesinde istediğimiz şekilde sorgulanabilir, filtrelenip gruplandırılabilir, sıralanabilir ve en önemlisi çekilebilir.

Bu makalede ele alınacak çeşitli sorgu türleri arasında SELECT, WHERE, AND, OR, IN, LIKE, NOT, JOIN, INNER JOIN, LEFT JOIN, RIGHT JOIN, ORDER BY, LIMIT ve GROUP BY yer almaktadır. Bu sorguları kullanarak veritabanı verilerini en uygun şekilde sorgulayabilir ve çekebilirsiniz.


SELECT Sorgusu

MySQL veritabanında bulunan verileri sorgulamanın en temel yolu, SELECT sorgusudur. Bu sorgu ile istediğimiz tablodaki belirli alanlardaki verileri tek seferde listeleyebiliriz. Örneğin, bir müşteri tablosundaki isim ve soyadı sütunlarını çekmek istiyoruz. Bunun için SELECT sorgusunu kullanarak istediğimiz sütunları belirtiriz.

Örnek sorgu:

SELECT musteri_isim, musteri_soyisim FROM musteri_tablosu;

Bu sorgu, "musteri_tablosu" adlı tablodaki "musteri_isim" ve "musteri_soyisim" sütunlarındaki tüm verileri çekecektir. İsterseniz, birden fazla sütunu aynı anda seçebilirsiniz. Sorguyu şu şekilde yazabilirsiniz:

SELECT musteri_ad, musteri_soyad, musteri_telefon FROM musteri_tablosu;

SELECT sorgusunda, * işareti kullanarak tüm alanları seçebilirsiniz. Ancak, tüm alanları seçmek yerine, sadece ihtiyacımız olan verileri seçmek, sorguyu daha verimli hale getirecektir. Ayrıca, veri boyutunu da azaltacaktır.

SELECT sorgusunun bir diğer önemli özelliği, GROUP BY, ORDER BY ve LIMIT komutları ile birlikte kullanılabilir. Böylece, sorgunun sonuçları daha doğru ve sınırlı bir şekilde çekilebilir.

Bu şekilde, belirli alanlardaki verileri seçerek, verileri daha anlamlı ve işe yarar hale getirebilirsiniz. Ancak, verilerinizi sorgularken dikkatli olun ve doğru verileri seçtiğinizden emin olun. Unutmayın ki, yanlış verileri seçmek verimliliği azaltabilir ve yanıltıcı sonuçlar elde etmenize neden olabilir.


WHERE Sorgusu

MySQL veritabanında verileri sorgulamanın en önemli yollarından biri WHERE sorgusudur. Bu sorgu ile verileri belirli koşullara göre filtreleyebilirsiniz. WHERE sorgusu birçok operatör ile birlikte kullanılabilir.

Örneğin, WHERE sorgusunu kullanarak sadece belirli bir değere sahip verileri çekebilirsiniz. Bunun için "=" operatörü kullanılabilir. WHERE sorgusu şu şekilde yazılır:

SELECT * FROM tablo_adı WHERE sütun_adı = 'değer'

Buna göre, verileri filtreleyeceğiniz tablo adını ve sütun adını belirtip "=" operatörü ile aradığınız değeri yazmanız gerekiyor.

WHERE sorgusu aynı zamanda "<", ">", "<=", ">=", "<>" gibi karşılaştırma operatörlerini de destekler. Örneğin, sadece belirli bir tarih aralığındaki verileri çekmek için şu sorguyu kullanabilirsiniz:

SELECT * FROM tablo_adı WHERE tarih_sütunu BETWEEN 'başlangıç_tarihi' AND 'bitiş_tarihi'

Burada "Tarih Sütunu" verilerini çekeceğiniz tablodaki tarih sütunu adıdır. "Başlangıç Tarihi" ve "Bitiş Tarihi" ise çekmek istediğiniz tarih aralığıdır.

Ayrıca WHERE sorgusunu kullanarak birden fazla koşulu birleştirebilirsiniz. "AND" ve "OR" operatörleri bu işlemde kullanılır. WHERE sorgusuna şu şekilde örnek verilebilir:

SELECT * FROM tablo_adı WHERE sütun1 = 'değer1' AND sütun2 = 'değer2'

Burada "Sütun1" ve "Sütun2" sorgulanacak sütunların adlarıdır. İlk koşulun sonrasında "AND" operatörü kullanarak ikinci koşulu ekledik.

WHERE sorgusu MySQL veritabanında en sık kullanılan sorgulama yöntemlerinden biridir ve doğru bir şekilde kullanıldığında verileri istenilen koşullara göre filtrelemek için oldukça etkilidir.


AND ve OR Operatörleri

Veri tabanınızda birden fazla koşulu birleştirmek için AND ve OR operatörlerini kullanabilirsiniz. AND operatörü koşulların her ikisini de sağlaması gerektiği durumlarda, OR operatörü ise koşullardan en az birini sağlaması durumunda verileri çağırır. Bu operatörleri kullanarak kendi koşullarınızı oluşturabilirsiniz.

Örneğin, bir kullanıcının hem yaşı hem de cinsiyeti belirli bir aralıkta olabilir. Bu durumda, AND operatörü kullanarak iki koşulu da birleştirebilirsiniz:

Yaş Aralığı Cinsiyet
18-25 Erkek

Aynı zamanda, kullanıcının yaşı 18'den büyük OR cinsiyeti Kadın'a eşit olduğunda da bu kullanıcıların verilerini almak isteyebilirsiniz. Bu durumda, OR operatörünü kullanabilirsiniz:

  • Yaş > 18 OR Cinsiyet = Kadın

Kendi koşullarınızı oluştururken, AND ve OR operatörlerinin doğru kullanımına dikkat etmelisiniz. Yanlış kullanıldığında, beklenmeyen verileri seçme riski vardır.


IN Operatörü

IN Operatörü İle Belirli Bir Listedeki Verileri Seçin

MySQL veritabanında bulunan verileri sorgulamanın bir diğer yolu da IN operatörüdür. IN operatörü ile belli bir listedeki değerleri seçebilirsiniz. Özellikle WHERE sorgusu ile birleştirildiğinde oldukça kullanışlıdır.

Örneğin, bir otomobil satıcısıysanız ve müşterilerinize uygun otomobilleri sunmak istiyorsunuz. Bu durumda, kullanıcıların arama yaptığı araç modellerini listeleyerek arama sonuçlarını daraltabilirsiniz. Bunun için IN operatörü ile modelleri listeleyebilirsiniz:

id model yıl fiyat
1 Corolla 2021 150000
2 Civic 2021 155000
3 Yaris 2022 140000

Örneğin, Civic, Corolla ve Yaris modellerinin sadece fiyat ve model bilgilerini çekmek istiyorsanız, aşağıdaki sorguyu kullanabilirsiniz:

SELECT model, fiyat FROM araclar WHERE model IN ('Civic', 'Corolla', 'Yaris');

Bu sorgu, yalnızca listelediğiniz modellerin fiyat ve model bilgilerini çekecektir. Aynı zamanda, verileri belirli bir sıraya göre de sıralayabilirsiniz. Örneğin, fiyata göre sıralamak isterseniz, sorgunuzu şöyle değiştirebilirsiniz:

SELECT model, fiyat FROM araclar WHERE model IN ('Civic', 'Corolla', 'Yaris') ORDER BY fiyat DESC;

Bu sorgu, fiyatları yüksekten düşüğe doğru sıralayacaktır.

IN operatörü, birçok durumda oldukça kullanışlıdır. Özellikle belirlenmiş bir liste içerisinden seçim yapmak istediğiniz durumlarda kolay bir kullanıma sahiptir.


LIKE Operatörü

MySQL veritabanında, metin değerleri içinde arama yapmak için LIKE operatörü kullanılır. Bu operatör ile veritabanında aradığınız kelime ya da kelime gruplarına göre sorgular yapabilirsiniz. LIKE operatörü, % veya _ karakterleri ile kullanılır. % karakteri, metnin başına ya da sonuna konulduğunda, o karakterin yerine herhangi bir karakterin gelebileceğini gösterir.

Bununla birlikte, _ karakteri ise sadece tek bir karakterin yerine gelebileceğini ifade eder. % kullanarak, bir kelime veya kelime grubunun sonuna eklemeler yaparak arama yapabilirsiniz. Örneğin, '%araba%' araması, veritabanındaki tüm satırları, kelime içinde 'araba' geçen satırları döndürür. Benzer şekilde, 'araba%' araması, yalnızca kelimenin başladığı satırları döndürür.

Aşağıda, LIKE operatörünün kullanımına yönelik birkaç örnek verilmiştir:

Sorgu Açıklama
SELECT * FROM customers WHERE last_name LIKE 'S%' Soyadı 'S' harfi ile başlayan müşterileri döndürür.
SELECT * FROM customers WHERE first_name LIKE '%a' Adı 'a' harfi ile biten müşterileri döndürür.
SELECT * FROM customers WHERE first_name LIKE '_o%' Adı ikinci karakteri 'o' olan müşterileri döndürür.

NOT Operatörü

MySQL veritabanında verileri sorgulamanın bir diğer yolu da NOT operatörüdür. NOT operatörü ile belirli bir koşulu sağlamayan verileri seçebilirsiniz. Bu sayede koşula uymayan ve verilerinizi sınırlandıran verilerden kurtulabilir ve işlemlerinizi daha etkin hale getirebilirsiniz.

NOT operatörü, WHERE sorgusu ile kullanılır ve "!=" sembolü ile ifade edilir. Örneğin, "NOT country='Turkey'" ifadesi ile "Turkey" dışındaki ülkelere ait verileri seçebilirsiniz.

Bunun yanı sıra, NOT operatörü diğer operatörlerle birleştirilerek daha etkili sonuçlar elde edilebilir. NOT operatörünün kullanılabileceği bazı örnekler şunlardır:

  • NOT BETWEEN
  • NOT LIKE
  • NOT IN

Örneğin, "NOT BETWEEN 10 AND 20" ifadesi ile 10 ile 20 aralığındaki değerlere sahip olmayan verileri seçebilirsiniz. Ya da "NOT LIKE '%a%'" ifadesi ile içerisinde "a" harfi geçmeyen metinleri seçebilirsiniz.

Operatör Açıklama Örnek Kullanım
NOT BETWEEN Belirli bir değer aralığında olmayan verileri seçer NOT BETWEEN 10 AND 20
NOT LIKE Belirtilen metni içermeyen verileri seçer NOT LIKE '%a%'
NOT IN Belirli bir listedeki verilerin dışındaki verileri seçer NOT IN (1, 2, 3)

NOT operatörü, diğer operatörlerle birlikte kullanıldığında çok daha etkili sonuçlar verir. Bu sebeple verilerinizi sorgularken ve çekerken NOT operatörünü kullanmayı ihmal etmeyin.


JOIN İşlemi

MySQL veritabanında farklı tablolardan veri çekmek için JOIN işlemi oldukça yararlı bir yöntemdir. JOIN işlemi, bir ya da daha fazla tabloyu birleştirerek birleşik bir tablo oluşturmanızı sağlar. JOIN işlemi kullanırken, tablolardaki sütun isimlerinin farklı olması durumunda da sorunsuz bir şekilde verileri birleştirebilirsiniz.

JOIN işlemi, üç farklı türü vardır: INNER JOIN, LEFT JOIN, ve RIGHT JOIN. INNER JOIN, birleştirilen tablolarda eşleşen verileri seçer. LEFT JOIN, soldaki tablonun tüm verilerini ve sağdaki tabloya eşleşen verileri seçer. RIGHT JOIN ise sağdaki tablonun tüm verilerini ve soldaki tabloya eşleşen verileri seçer.

Tablo 1 Tablo 2 INNER JOIN LEFT JOIN RIGHT JOIN
Veri 1 Veri 2 Eşleşen veriler Tüm veriler + eşleşen veriler Eşleşen veriler + tüm veriler

Örneğin, bir mağazanın müşteri ve sipariş tabloları varsa, JOIN işlemi kullanarak bu iki tabloyu birleştirebilirsiniz. INNER JOIN kullanarak sadece müşteri ve sipariş tablolarında eşleşen verileri seçebilirsiniz. LEFT JOIN kullanarak ise müşteri tablosundaki tüm verileri ve sipariş tablosunda eşleşen verileri seçebilirsiniz.

Özetle, JOIN işlemi, farklı tablolardan veri çekmek için oldukça kullanışlı bir yöntemdir. Farklı türleri sayesinde, iki ya da daha fazla tabloyu birleştirerek istediğiniz verileri seçebilirsiniz.


INNER JOIN

INNER JOIN ile iki ya da daha fazla tablonun eşleşen verilerini seçebilirsiniz. Bu sorgu tipi, verileri birbirine bağlamak için kullanılır. INNER JOIN, sadece her iki tabloda da bulunan eşleşen verileri getirir. Eğer bir tabloda bir veri diğer tabloda yoksa, bu veri hiçbir şekilde sonuçlar arasında yer almaz.

INNER JOIN sorgusu, her şeyden önce bir bağlantı belirlemekle başlar. Bağlantı, her iki tabloda da ortak olan bir sütunun kullanılmasıyla gerçekleştirilir. Bu sütun, genellikle aynı veri tipinde ve aynı isimde olan veri alanları olmalıdır. INNER JOIN sorgusu ile eşleşen verileri seçerken, birinci ve ikinci tablolardan her ikisinde de bulunan sütunları belirtmelisiniz.

Bu sorgu tipinde, birden fazla INNER JOIN ifadesi kullanılabilir. Bu şekilde, daha doğru ve kapsamlı sonuçlar alınabilir. INNER JOIN kullanımında, dışarıda kalan tablolardaki veriler işleme dahil edilmez. Bu, sorgunun hızlı bir şekilde çalışmasını sağlar.

Aşağıdaki örnekteki sorguda, "customers" tablosundan "customer_id" alanı "orders" tablosundaki "customer_id" alanı ile eşleştirilir. Bu sayede, her iki tablodaki eşleşen veriler getirilir.

SELECT *FROM customersINNER JOIN ordersON customers.customer_id = orders.customer_id;

LEFT JOIN

MySQL veritabanında bulunan verileri sorgulama ve çekme yöntemleri arasında LEFT JOIN sorgusu oldukça önemlidir. LEFT JOIN ile soldaki tablonun tüm verileri ve sağdaki tabloya eşleşen verileri seçebilirsiniz. Ayrıca eşleşmeyen veriler null olarak gösterilir.

LEFT JOIN kullanarak, iki tabloyu birleştirerek yeni bir tablo oluşturabilirsiniz. Bu işlem genellikle iki tablonun birbirine bağlı olduğu durumlarda kullanılır. Örneğin, bir kullanıcının gönderdiği yorumların yanında kullanıcının isminin de gösterilmesi gerekiyorsa, LEFT JOIN kullanarak yorum tablosunu ve kullanıcı tablosunu birleştirebilirsiniz.

Bu işlem için FROM ve LEFT JOIN anahtar kelimeleri kullanılır. FROM tablo adı yazılır, ardından LEFT JOIN anahtar kelimesi ile birleştirilecek diğer tablo adı ve ON anahtar kelimesi ile birleştirme koşulu belirtilir. Örneğin:

yorum_tablosu kullanici_tablosu
yorum_id kullanici_id
yorum_metni kullanici_adi
kullanici_id kullanici_email

Yukarıdaki örnekte, yorum_tablosu ve kullanici_tablosu soldaki ve sağdaki tablolar olarak belirtilmiştir. LEFT JOIN kullanarak bu iki tabloyu birleştirebilirsiniz:

SELECT yorum_metni, kullanici_adiFROM yorum_tablosuLEFT JOIN kullanici_tablosuON yorum_tablosu.kullanici_id = kullanici_tablosu.kullanici_id;

Bu sorgu, yorum_tablosundaki tüm verileri ve kullanici_tablosunda eşleşen verileri çeker. Eşleşmeyen veriler null olarak gösterilir. LEFT JOIN sorgusu aynı zamanda RIGHT JOIN ile değiştirilerek sağdaki tablonun tüm verileri ve soldaki tabloya eşleşen verileri seçebilirsiniz.


RIGHT JOIN

RIGHT JOIN işlemi MySQL veritabanında birden fazla tabloyu birleştirmek için kullanılır. Bu işlem ile sağdaki tablonun tüm verileri ve soldaki tabloya eşleşen verileri seçebilirsiniz. RIGHT JOIN işleminin kullanımı aşağıdaki örnekle açıklanabilir:

Öğrenciler Tablosu Notlar Tablosu
  • ID
  • Ad Soyad
  • Yaş
  • ID
  • Kurs
  • Not

Öğrenciler Tablosu:

ID Ad Soyad Yaş
1 Ahmet Yılmaz 20
2 Mehmet Öztürk 22
3 Ali Güneş 21

Notlar Tablosu:

ID Kurs Not
1 Matematik 85
2 Tarih 90

RIGHT JOIN işlemi kullanarak öğrenciler tablosunun tüm verilerini ve notlar tablosuna eşleşen verileri şu şekilde seçebilirsiniz:

```mysqlSELECT * FROM notlar RIGHT JOIN ogrenciler ON notlar.id=ogrenciler.id;```

Aşağıdaki tablo sonucunu verir;

ID Kurs Not ID Ad Soyad Yaş
1 Matematik 85 1 Ahmet Yılmaz 20
2 Tarih 90 2 Mehmet Öztürk 22
3 Ali Güneş 21

Yukarıdaki örnekte öğrenciler tablosundaki tüm veriler ve notlar tablosuna eşleşen veriler RIGHT JOIN işlemi kullanılarak seçildi. Notlar tablosunda karşılığı olmayan "Ali Güneş" verisi de sonuç setinde yer aldı, ancak bu verinin not kısmı NULL olarak dolduruldu.


ORDER BY Sorgusu

MySQL veritabanlarında birçok veri bulunabilir ve bu verileri çekmek için kullanılacak sorgular oldukça önemlidir. Bunlardan biri de ORDER BY sorgusudur. Bu sorgu ile veritabanındaki veriler belirli bir sıraya göre çekilerek karışıklık önlenebilir.

ORDER BY sorgusu kullanırken, sıralamanın hangi alana göre yapılacağı belirtilmelidir. Örneğin, bir şirketteki çalışanları isimlerine göre sıralamak istediğimizde sorgumuz şöyle olabilir:

Örnek Sorgu
SELECT * FROM employees ORDER BY employee_name ASC;

Bu sorgu ile veriler "employee_name" sütununa göre alfabetik olarak sıralanacak ve sonuçlar artan sırayla gösterilecektir. Eğer verileri azalan bir sıra ile göstermek istiyorsak, sorgumuzu şu şekilde güncelleyebiliriz:

Örnek Sorgu
SELECT * FROM employees ORDER BY employee_name DESC;

Bu sorgu ile sonuçlar azalan sırayla gösterilecektir. ORDER BY sorgusu, istediğiniz herhangi bir alana göre sıralama yapmanıza izin verir.

Ayrıca, sıralama işlemini birden fazla alana göre yapmak için de ORDER BY sorgusunu kullanabilirsiniz. Örneğin, öğrenci tablosundaki öğrencileri sınıflarına göre daha sonra da not ortalamalarına göre sıralamak istediğimizde sorgumuz şöyle olabilir:

Örnek Sorgu
SELECT * FROM students ORDER BY class DESC, grade_point_average ASC;

Bu sorguda, öğrenciler öncelikle sınıflarına göre azalan sırayla sıralanacak ve ardından aynı sınıftaki öğrenciler not ortalamalarına göre artan sırayla gösterilecektir. Bu şekilde veriler daha okunaklı ve anlaşılır hale gelir.


LIMIT Sorgusu

MySQL veri tabanında veri çekerken bazen tüm verileri görmek istemeyebilirsiniz. Bu durumda sadece belirli bir sayıda veri veya sınırlı veri seti çekmek isteyebilirsiniz. LIMIT sorgusu tam da burada devreye giriyor.

LIMIT sorgusu ile belirli bir sayıda veri çekmek oldukça kolaydır. Sorgunun sonuna LIMIT kelimesi ekleyin ve ardından ne kadar veri çekmek istediğinizi belirtin. Örneğin, "SELECT * FROM tableName LIMIT 5" şeklinde bir sorgu yazarsanız tablodaki ilk 5 kaydı çekersiniz.

LIMIT sorgusu diğer sorgu yöntemleriyle birlikte de kullanılabilir. Örneğin, WHERE sorgusu ile koşullu verileri seçerken, LIMIT sorgusu ile bu sorgunun sonucundan belirli bir sayıda veri alabilirsiniz.

LIMIT sorgusunun bir diğer faydası, büyük veri setleri üzerinde çalışırken veri yükünü azaltmasıdır. Özellikle sayfalama işlemlerinde, kullanıcıya tek seferde tüm verileri sunmak yerine sayfalara bölerek veriyi işlemek daha verimli bir yöntemdir.

Aşağıdaki örnekte 'products' tablosundan fiyatları büyükten küçüğe doğru sıralayan ilk 5 veri setini çekmek için kullanılabilecek bir LIMIT sorgusu verilmiştir.

SELECT * FROM products ORDER BY price DESC LIMIT 5

LIMIT sorgusu ile belirli bir sayıda veri çekmek oldukça kullanışlı bir özelliktir. Ancak, bazen sadece belirli bir sayıda veri çekmek yeterli olmayabilir. Bu durumda yine farklı sorgu yöntemlerini birlikte kullanarak daha spesifik sonuçlar elde edebilirsiniz.


GROUP BY Sorgusu

GROUP BY sorgusu, verileri belirli özelliklere göre gruplamak için kullanılır. Bu özellikler, aynı veri setinde benzer olan alanlardır. Örneğin, bir tabloda müşterilerin yaş, cinsiyet ve bölge bilgileri yer alıyor olsun. GROUP BY işlemi ile örneğin bölge bilgileri benzer olan müşterileri gruplayarak, sonuçları bölgelere göre listelemek mümkündür.

Bu işlem, SQL sorgusu içinde gruplanacak özelliği belirtmek için GROUP BY ifadesi kullanılması ile gerçekleştirilir. Örneğin, yukarıdaki örnekte GROUP BY sorgusunun kullanımı aşağıdaki gibi olabilir:

SELECT * FROM musteriler GROUP BY bölge;

Bu sorgu, müşteriler tablosundaki bölge özelliğine göre verileri gruplar. GROUP BY sorgusu sonrasında, SQL sorgusunun geri kalanıyla birlikte veriler bu gruba göre sıralanacak ve sonuçları bölgelere göre gruplayacak şekilde listelenecektir.

GROUP BY sorgusu ayrıca, belirli alanlara göre toplam değerler hesaplamak için de kullanılabilir. Bu işlem, SQL sorgusunda bir ya da daha fazla alanın toplamının hesaplanmasını sağlar. Örneğin, bir satış tablosunun alanlarından biri olan fiyat üzerinde işlem yapmak isteyelim. Bu durumda, GROUP BY sorgusu kullanarak fiyat alanını gruplayarak toplam satış tutarlarını hesaplayabiliriz.

SELECT fiyat,SUM(miktar) AS toplam FROM satis GROUP BY fiyat;

Bu soruguda, fiyat alanına göre gruplama yapar ve aynı fiyatta bulunan satışların toplam miktarı hesaplanır. Sonuç, fiyatların listesi ve her bir fiyatın toplam satış miktarını gösteren bir tablo olarak görüntülenecektir. GROUP BY sorgusu ile birlikte toplama işlemi yapmak, SQL sorgularının daha etkili ve verimli bir şekilde kullanılmasına yardımcı olur.