Movatterモバイル変換


[0]ホーム

URL:


Menu
×
See More 
Sign In
+1 Get Certified Upgrade Teachers Spaces Bootcamps Get Certified Upgrade Teachers Spaces Bootcamps
   ❮     
     ❯   

SQL Tutorial

SQL HOMESQL IntroSQL SyntaxSQL SelectSQL Select DistinctSQL WhereSQL Order BySQL AndSQL OrSQL NotSQL Insert IntoSQL Null ValuesSQL UpdateSQL DeleteSQL Select TopSQL Aggregate FunctionsSQL Min()SQL Max()SQL Count()SQL Sum()SQL Avg()SQL LikeSQL WildcardsSQL InSQL BetweenSQL AliasesSQL JoinsSQL Inner JoinSQL Left JoinSQL Right JoinSQL Full JoinSQL Self JoinSQL UnionSQL Union AllSQL Group BySQL HavingSQL ExistsSQL Any, AllSQL Select IntoSQL Insert Into SelectSQL CaseSQL Null FunctionsSQL Stored ProceduresSQL CommentsSQL Operators

SQL Database

SQL Create DBSQL Drop DBSQL Backup DBSQL Create TableSQL Drop TableSQL Alter TableSQL ConstraintsSQL Not NullSQL UniqueSQL Primary KeySQL Foreign KeySQL CheckSQL DefaultSQL IndexSQL Auto IncrementSQL DatesSQL ViewsSQL InjectionSQL HostingSQL Data Types

SQL References

SQL KeywordsMySQL Functions
String Functions:ASCIICHAR_LENGTHCHARACTER_LENGTHCONCATCONCAT_WSFIELDFIND_IN_SETFORMATINSERTINSTRLCASELEFTLENGTHLOCATELOWERLPADLTRIMMIDPOSITIONREPEATREPLACEREVERSERIGHTRPADRTRIMSPACESTRCMPSUBSTRSUBSTRINGSUBSTRING_INDEXTRIMUCASEUPPERNumeric Functions:ABSACOSASINATANATAN2AVGCEILCEILINGCOSCOTCOUNTDEGREESDIVEXPFLOORGREATESTLEASTLNLOGLOG10LOG2MAXMINMODPIPOWPOWERRADIANSRANDROUNDSIGNSINSQRTSUMTANTRUNCATEDate Functions:ADDDATEADDTIMECURDATECURRENT_DATECURRENT_TIMECURRENT_TIMESTAMPCURTIMEDATEDATEDIFFDATE_ADDDATE_FORMATDATE_SUBDAYDAYNAMEDAYOFMONTHDAYOFWEEKDAYOFYEAREXTRACTFROM_DAYSHOURLAST_DAYLOCALTIMELOCALTIMESTAMPMAKEDATEMAKETIMEMICROSECONDMINUTEMONTHMONTHNAMENOWPERIOD_ADDPERIOD_DIFFQUARTERSECONDSEC_TO_TIMESTR_TO_DATESUBDATESUBTIMESYSDATETIMETIME_FORMATTIME_TO_SECTIMEDIFFTIMESTAMPTO_DAYSWEEKWEEKDAYWEEKOFYEARYEARYEARWEEKAdvanced Functions:BINBINARYCASECASTCOALESCECONNECTION_IDCONVCONVERTCURRENT_USERDATABASEIFIFNULLISNULLLAST_INSERT_IDNULLIFSESSION_USERSYSTEM_USERUSERVERSION
SQL Server FunctionsMS Access FunctionsSQL Quick Ref

SQL Examples

SQL ExamplesSQL EditorSQL QuizSQL ExercisesSQL ServerSQL SyllabusSQL Study PlanSQL BootcampSQL CertificateSQL Training

SQLHAVING Clause


The SQL HAVING Clause

TheHAVING clause was added to SQL because theWHERE keyword cannot be used with aggregate functions.

HAVING Syntax

SELECTcolumn_name(s)
FROMtable_name
WHEREcondition
GROUP BYcolumn_name(s)
HAVINGcondition
ORDER BY column_name(s);

Demo Database

Below is a selection from the "Customers" table in the Northwind sample database:

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1

Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.05021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.05023Mexico
4

Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPUK
5Berglunds snabbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Sweden

SQL HAVING Examples

The following SQL statement lists the number of customers in each country. Only include countries with more than 5 customers:

Example

SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
HAVING COUNT(CustomerID) > 5;
Try it Yourself »

The following SQL statement lists the number of customers in each country, sorted high to low (Only include countries with more than 5 customers):

Example

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


Demo Database

Below is a selection from the "Orders" table in the Northwind sample database:

OrderIDCustomerIDEmployeeIDOrderDateShipperID
102489051996-07-043
102498161996-07-051
102503441996-07-082

And a selection from the "Employees" table:

EmployeeIDLastNameFirstNameBirthDatePhotoNotes
1DavolioNancy1968-12-08EmpID1.picEducation includes a BA....
2FullerAndrew1952-02-19EmpID2.picAndrew received his BTS....
3LeverlingJanet1963-08-30EmpID3.picJanet has a BS degree....

More HAVING Examples

The following SQL statement lists the employees that have registered more than 10 orders:

Example

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;
Try it Yourself »

The following SQL statement lists if the employees "Davolio" or "Fuller" have registered more than 25 orders:

Example

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;
Try it Yourself »




×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
sales@w3schools.com

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
help@w3schools.com

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning.
Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness
of all content. While using W3Schools, you agree to have read and accepted ourterms of use,cookies andprivacy policy.

Copyright 1999-2026 by Refsnes Data. All Rights Reserved.W3Schools is Powered by W3.CSS.

-->
[8]ページ先頭

©2009-2026 Movatter.jp