Aggregatfunktioner er en praktisk funktion i Structured Query Language, og omfatter matematiske operationer , som beregner maksimum , gennemsnit og total værdier , blandt andre. Som ordet antyder , en aggregatfunktion opererer på et helt sæt af data , returnere en enkelt værdi uanset antallet af poster , du vælger. Selvom du oftest ser aggregatfunktionerne i den vigtigste del af en SQL-sætning , kan du bruge dem i underforespørgsler også . Aggregatfunktionerne
SQL, aggregatfunktionerne har i høj grad statistisk formål. Funktionerne , AVG ( ) , stdDev () og varians ( ), for eksempel , beregne den gennemsnitlige , standardafvigelse og varians for et sæt af numre. Andre aggregatfunktionerne arbejde på både numerisk og tekst data , MIN () og MAX () finder det største værdi for en database felt , om det indeholder et tal eller tegn. TÆL () funktion tæller antallet af poster er valgt i en SQL-sætning. For eksempel viser følgende erklæring antallet af Californiens kunder i en database med balancer på mindst $ 1000 :
SELECT COUNT (*) FROM kunder WHERE state = ' CA' og balance > = 1000.00 ; < br >
Underforespørgsler
WHERE en SQL SELECT , UPDATE , SLET eller INDSÆT indsnævrer antallet af poster erklæringen afkast eller påvirker. Denne kraftfulde funktion giver fint finpudset resultater. Ud over at bruge standard- betingelser, såsom at sammenligne et felt til en bogstavelig værdi, kan du bruge SQL er " IN" betingelse for at sammenligne et felt til en liste over værdier , som i det følgende eksempel : Hej
SELECT CUSTOMER_ID , navn, stat fra kunder, hvor stat ( »CA ',' NV ' , ' OR ');
Denne erklæring lister kunder fra Californien, Nevada og Oregon. En underforespørgsel udvider dette koncept yderligere ved at udfylde værdier fra en SELECT-sætning i den overordnede SELECT , da dette eksempel viser : Hej
SELECT CUSTOMER_ID , navn, stat fra kunder, hvor staten IN ( SELECT DISTINCT stat fra sales_reps ) < br >
Denne SELECT viser de kunder , der har en salgsrepræsentant i deres tilstand .
aggregater i Underforespørgsler
Du kan tilføje sofistikerede til en underforespørgsel ved tilsætning af en aggregatfunktion . For eksempel kan du ønsker en liste over Nevada kunder med saldi større end den største for Californien kunder , som i dette eksempel : Hej
SELECT CUSTOMER_ID , navn, stat fra kunder, hvor state = ' NV ' og balance > ( SELECT MAX (balance) FROM kunder WHERE state = ' CA ');
inderste forespørgsel bestemmer den maksimale saldo for Californien kunder, så bruger den til at finde Nevada kunder større balancer
. KAYAK Korreleret Underforespørgsler
korreleret underforespørgsel er en, der bruger den samme tabel for indre og ydre forespørgsler. Den indre forespørgsel passerer resultater til det ydre og omvendt . Følgende eksempel viser en liste over kunder, hvis saldoen er større end gennemsnittet : Hej
SELECT CUSTOMER_ID , navn, stat fra kunderne c1 WHERE balance > ( SELECT AVG ( balance ) FROM kunde c2 WHERE customer_id.c1 = CUSTOMER_ID . c2) ;
Bemærk , at den ydre forespørgsel bruger Debitorkartoteket alias " . C1" den indre forespørgsel anvendelser " . c2 » De aliaser tillader forespørgslen for at bruge den samme kunde tabel som to adskilte tabeller < br . >