SQL Eğitimi

SQL ANA SAYFA SQL'e Giriş SQL Sözdizimi SQL Seçimi SQL Seç Farklı SQL Nerede SQL Ve, Veya, Değil SQL Sıralaması İçine SQL Ekle SQL Boş Değerler SQL Güncellemesi SQL Sil SQL Üst Seç SQL Min ve Maks SQL Sayısı, Ortalama, Toplam SQL Beğeni SQL Joker Karakterleri SQL Girişi SQL Arası SQL Takma Adları SQL Birleşimleri SQL İç Birleştirme SQL Sol Birleştirme SQL Sağ Birleştirme SQL Tam Birleştirme SQL Kendi Kendine Katılma SQL Birliği SQL Grubuna Göre SQL Sahip Olmak SQL Var SQL Herhangi Bir, Tümü SQL Seçimi Seçime SQL Ekle SQL Örneği SQL Boş Fonksiyonlar SQL Saklı Yordamlar SQL Yorumları SQL Operatörleri

SQL Veritabanı

SQL Veritabanı Oluştur SQL Bırak DB'si SQL Yedekleme Veritabanı SQL Oluşturma Tablosu SQL Bırakma Tablosu SQL Değiştirme Tablosu SQL Kısıtlamaları SQL Boş Değil SQL Benzersiz SQL Birincil Anahtarı SQL Yabancı Anahtarı SQL Kontrolü SQL Varsayılanı SQL Dizini SQL Otomatik Artış SQL Tarihleri SQL Görünümleri SQL Enjeksiyonu SQL Barındırma SQL Veri Türleri

SQL Referansları

SQL Anahtar Kelimeleri MySQL İşlevleri SQL Sunucu İşlevleri MS Erişim Fonksiyonları SQL Hızlı Başvuru

SQL Örnekleri

SQL Örnekleri SQL Testi SQL Alıştırmaları SQL Sertifikası

SQL HAVING Cümlesi


SQL HAVING Cümlesi

Anahtar sözcük toplama işlevleriyle kullanılamadığı HAVINGiçin yan tümce SQL'e eklendi .WHERE

HAVING sözdizimi

SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
HAVING condition
ORDER BY column_name(s);

Demo Veritabanı

Aşağıda, Northwind örnek veritabanındaki "Müşteriler" tablosundan bir seçim bulunmaktadır:

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4

Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

SQL HAVING Örnekleri

Aşağıdaki SQL ifadesi, her ülkedeki müşteri sayısını listeler. Yalnızca 5'ten fazla müşterisi olan ülkeleri dahil edin:

Örnek

SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
HAVING COUNT(CustomerID) > 5;

Aşağıdaki SQL deyimi, her ülkedeki müşteri sayısını yüksekten düşüğe sıralayarak listeler (Yalnızca 5'ten fazla müşterisi olan ülkeleri içerir):

Örnek

SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
HAVING COUNT(CustomerID) > 5
ORDER BY COUNT(CustomerID) DESC;


Demo Veritabanı

Northwind örnek veritabanındaki "Siparişler" tablosundan bir seçim aşağıdadır:

OrderID CustomerID EmployeeID OrderDate ShipperID
10248 90 5 1996-07-04 3
10249 81 6 1996-07-05 1
10250 34 4 1996-07-08 2

Ve "Çalışanlar" tablosundan bir seçim:

EmployeeID LastName FirstName BirthDate Photo Notes
1 Davolio Nancy 1968-12-08 EmpID1.pic Education includes a BA....
2 Fuller Andrew 1952-02-19 EmpID2.pic Andrew received his BTS....
3 Leverling Janet 1963-08-30 EmpID3.pic Janet has a BS degree....

Daha Fazla SAHNE Örneği

Aşağıdaki SQL deyimi, 10'dan fazla sipariş kaydeden çalışanları listeler:

Örnek

SELECT Employees.LastName, COUNT(Orders.OrderID) AS NumberOfOrders
FROM (Orders
INNER JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID)
GROUP BY LastName
HAVING COUNT(Orders.OrderID) > 10;

Aşağıdaki SQL deyimi, "Davolio" veya "Fuller" çalışanlarının 25'ten fazla sipariş kaydettirip kaydetmediğini listeler:

Örnek

SELECT Employees.LastName, COUNT(Orders.OrderID) AS NumberOfOrders
FROM Orders
INNER JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID
WHERE LastName = 'Davolio' OR LastName = 'Fuller'
GROUP BY LastName
HAVING COUNT(Orders.OrderID) > 25;