Aggregate functies zijn een handige functie van Structured Query Language , en omvatten wiskundige bewerkingen die maximale , gemiddelde en totale waarden te berekenen , onder anderen . Zoals de term al aangeeft , een statistische functie werkt op een volledige set van gegevens , het terugsturen van een enkele waarde , ongeacht het aantal records dat u selecteert . Al zie je het vaakst statistische functies in het woongedeelte van een SQL statement , kunt u ze ook gebruiken in subquery's . Aggregate functies In SQL , statistische functies hebben een grotendeels statistische doeleinden . De functies , AVG ( ) , STDDEV ( ) en VARIANCE ( ) , bijvoorbeeld , bereken het gemiddelde , standaardafwijking en variantie van een reeks getallen . Andere statistische functies werken op zowel numerieke en tekst gegevens; MIN ( ) en MAX ( ) vindt de grootste waarde voor een veld -database of het een nummer of tekens bevat . De COUNT ( ) functie telt het aantal records geselecteerd in een SQL-instructie . Bijvoorbeeld , de volgende verklaring geeft het aantal klanten van Californië in een database met saldi van minstens $ 1.000: SELECT COUNT ( * ) FROM klanten WHERE status = ' CA ' AND balans > = 1000.00 ; < br > Subquery de WHERE-component van een SQL SELECT , UPDATE , DELETE of INSERT versmalt het aantal records dat de instructie geeft of beïnvloedt . Deze krachtige functie produceert fijngeslepen resultaten . Naast het gebruik van standaardomstandigheden , zoals het vergelijken van een veld een letterlijke waarde , kan de SQL " IN" gebruiksklare vergelijken een veld om een lijst van waarden , zoals in het volgende voorbeeld : SELECT customer_id , naam , staat FROM klanten WHERE state IN ( ' CA ' , ' NV ' , ' OR' ) ; Deze verklaring geeft klanten uit Californië , Nevada en Oregon . Een subquery verder breidt dit concept door het invullen van waarden uit een SELECT-instructie in de belangrijkste SELECT , omdat dit voorbeeld illustreert : SELECT customer_id , naam , status FROM klanten WHERE state IN ( SELECT DISTINCT staat FROM sales_reps ) ; < br > Deze SELECT geeft de klanten die een vertegenwoordiger hebben in hun staat . Aggregaten in subquery U kunt verfijning toe te voegen aan een subquery door het toevoegen van een statistische functie . Bijvoorbeeld , kunt u een lijst van Nevada klanten die balanceert groter dan de grootste voor de klanten van Californië , zoals in dit voorbeeld : SELECT customer_id , naam , status FROM klanten WHERE status = ' NV ' AND balans > ( SELECT MAX ( balans ) FROM klanten WHERE status = ' CA ' ) ; The inner query bepaalt de maximale balans voor klanten California , gebruikt het dan om Nevada klanten te vinden met een grotere saldi . gecorreleerde subquery een gecorreleerde subquery is er een die dezelfde tabel gebruikt voor innerlijke en uiterlijke queries . The inner query resultaten geeft aan de buitenste en vice versa . In het volgende voorbeeld wordt een lijst met klanten wier saldo hoger is dan gemiddeld : SELECT customer_id , naam , staat FROM klanten WHERE c1 balans > ( SELECT gem ( balans ) FROM klant c2 WHERE customer_id.c1 = customer_id . c2 ) ; notitiekaarten dat de buitenste query de tabel klant alias " . c1 " de binnenste query " . c2 " de aliassen staat de query aan dezelfde klant tafel gebruiken als twee verschillende tafels < br . >
|