Les fonctions d'agrégation sont une fonctionnalité très pratique de Structured Query Language , et comprennent des opérations mathématiques qui calculent les valeurs maximum, moyenne et totale, entre autres. Comme le terme l'indique, une fonction d'agrégation fonctionne sur tout un ensemble de données , retournant une valeur unique quel que soit le nombre d'enregistrements que vous avez sélectionnés . Bien que vous voyez le plus souvent des fonctions d'agrégation dans la partie principale d'une instruction SQL , vous pouvez les utiliser dans les sous-requêtes aussi . Fonctions d'agrégation SQL, fonctions d'agrégation ont un but essentiellement statistique . Les fonctions , AVG (), STDDEV () et la variance (), par exemple , calculer la moyenne , l'écart type et la variance d'un ensemble de nombres. D'autres fonctions d'agrégation travaillent à la fois sur des données de texte numérique et , MIN ( ) et MAX () trouver la plus grande valeur pour un champ de base de données si elle contient un numéro ou caractères. La fonction COUNT () compte le nombre d'enregistrements sélectionnés dans une requête SQL . Par exemple , l'instruction suivante affiche le nombre de clients de Californie dans une base de données avec les soldes d'au moins 1000 $ : SELECT COUNT (*) FROM clients WHERE state = 'CA' et l'équilibre > = 1000.00 ; < br > sous-requêtes la clause WHERE d'un SQL SELECT , UPDATE , DELETE ou INSERT rétrécit vers le bas le nombre d'enregistrements de la déclaration renvoie ou affecte. Cette puissante fonctionnalité produit des résultats finement aiguisées . En plus d'utiliser des conditions normales, telles que la comparaison d'un champ à une valeur littérale , vous pouvez utiliser état "IN" du SQL pour comparer un champ à une liste de valeurs , comme dans l'exemple suivant: SELECT customer_id , nom, Etat des clients WHERE état IN (' CA ', ' NV ', ' OR') ; Cette déclaration énumère les clients de la Californie , le Nevada et l'Oregon. Une sous-requête étend ce concept plus loin en remplissant les valeurs d'une instruction SELECT à l'intérieur du principal, sélectionnez , comme l'illustre cet exemple : SELECT customer_id , nom, état FROM clients WHERE état IN ( SELECT DISTINCT FROM état sales_reps ) ; SELECT affiche les clients qui ont un représentant des ventes dans leur état. Granulats dans les sous-requêtes Vous pouvez ajouter de sophistication à une sous-requête en ajoutant une fonction d'agrégation . Par exemple, vous voudrez peut-être une liste de clients ayant Nevada équilibre supérieure à la plus grande pour les clients Californie , comme dans cet exemple : SELECT customer_id , nom, état FROM clients WHERE state = " NV " et l'équilibre > (SELECT MAX (balance) FROM clients WHERE state = 'CA' ) ; la requête interne détermine l'équilibre maximale pour les clients en Californie , puis l'utilise pour trouver des clients Nevada avec des soldes plus . Photos sous requêtes corrélées requête corrélée est celui qui utilise la même table pour les requêtes internes et externes . La requête interne passe les résultats vers l' extérieur , et vice versa . L'exemple suivant affiche une liste de clients dont le solde est supérieur à la moyenne : SELECT customer_id , nom, état FROM clients WHERE c1 équilibre > (SELECT avg ( équilibre ) FROM client WHERE c2 = customer_id.c1 customer_id . c2); Notez que la requête externe utilise l'alias de table du client " . c1" la requête interne utilise . " c2 " les alias permet à la requête d'utiliser la même table des clients comme deux tables distinctes < br . >
|