MySQL -zelfstudie

MySQL HOME MySQL-intro MySQL RDBMS

MySQL SQL

MySQL SQL MySQL SELECT MySQL WAAR? MySQL EN, OF, NIET MySQL BESTELLEN DOOR MySQL INVOEGEN IN MySQL NULL-waarden MySQL-UPDATE MySQL VERWIJDEREN MySQL-LIMIET MySQL MIN en MAX MySQL-COUNT, AVG, SUM MySQL LIKE MySQL-jokertekens MySQL IN MySQL TUSSEN MySQL-aliassen MySQL wordt lid MySQL INNER JOIN MySQL LEFT JOIN MySQL RECHTS AANMELDEN MySQL CROSS JOIN Zelf lid worden van MySQL MySQL UNION MySQL GROEP DOOR MySQL HEBBEN MySQL BESTAAT MySQL ELK, ALLES MySQL INSERT SELECT MySQL-CASE MySQL Null-functies MySQL-opmerkingen MySQL-operators

MySQL- database

MySQL DB maken MySQL Drop DB MySQL-tabel maken MySQL-droptabel MySQL Wijzig Tabel MySQL-beperkingen MySQL Niet Null MySQL Uniek MySQL primaire sleutel MySQL-buitenlandse sleutel MySQL-controle MySQL-standaard MySQL-index maken MySQL automatisch verhogen MySQL-datums MySQL-weergaven

MySQL- referenties

MySQL-gegevenstypen MySQL-functies

MySQL- voorbeelden

MySQL-voorbeelden MySQL-quiz MySQL-oefeningen

MySQL MET clausule


De MySQL HAVING-clausule

De HAVINGclausule is toegevoegd aan SQL omdat het WHEREsleutelwoord niet kan worden gebruikt met aggregatiefuncties.

MET syntaxis

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

Demodatabase

Hieronder vindt u een selectie uit de tabel "Klanten" in de voorbeelddatabase van Northwind:

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

MySQL HEEFT voorbeelden

De volgende SQL-instructie vermeldt het aantal klanten in elk land. Alleen landen met meer dan 5 klanten opnemen:

Voorbeeld

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

De volgende SQL-instructie vermeldt het aantal klanten in elk land, gesorteerd van hoog naar laag (alleen landen met meer dan 5 klanten opnemen):

Voorbeeld

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


Demodatabase

Hieronder vindt u een selectie uit de tabel "Orders" in de Northwind-voorbeelddatabase:

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

En een greep uit de tabel "Medewerkers":

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....

Meer voorbeelden HEBBEN

Het volgende SQL-statement vermeldt de medewerkers die meer dan 10 bestellingen hebben geregistreerd:

Voorbeeld

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;

Het volgende SQL-statement geeft aan of de medewerkers "Davolio" of "Fuller" meer dan 25 bestellingen hebben geregistreerd:

Voorbeeld

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;