Fonction SQL COUNT ()

Dernière mise à jour le 26 février 2020 08:07:42 (UTC / GMT +8 heures)

Fonction COUNT ()

La fonction SQL COUNT () renvoie le nombre de lignes d’une table satisfaisant les critères spécifié dans la clause WHERE. Il définit le nombre de lignes ou de valeurs de colonne non NULL.
COUNT () renvoie 0 s’il n’y avait pas de lignes correspondantes.

Syntaxe:

COUNT(*)COUNT( expression )

La syntaxe ci-dessus est la syntaxe générale de la norme ANSI SQL 2003. Cela aide à comprendre la façon dont la fonction SQL COUNT () est utilisée. Mais différents fournisseurs de bases de données peuvent avoir différentes manières d’appliquer la fonction COUNT ().

Ci-dessous, vous pouvez voir que MySQL, PostgreSQL et Microsoft SQL Server suivent la même syntaxe que celle donnée ci-dessus. Mais DB2 et Oracle diffèrent légèrement.

Dans l’ensemble, vous pouvez utiliser * ou ALL ou DISTINCT ou une expression avec COUNT pour COUNT le nombre de lignes w.r.t. une condition ou toutes les lignes, selon les arguments que vous utilisez avec la fonction COUNT ().

Prise en charge du SGBD: fonction COUNT ()

SGBD Commande
MySQL Pris en charge
PostgreSQL pris en charge
SQL Server pris en charge
Oracle Pris en charge

Syntaxe DB2 et Oracle:

COUNT ({*| expression}) OVER (window_clause)

Paramètres:

Nom Description
ALL S’applique à toutes les valeurs. ALL renvoie le nombre de valeurs non NULL.
DISTINCT Valeurs en double ignorées et COUNT renvoie le nombre de valeurs non nulles uniques.
expression Expression composée d’une seule constante, variable, fonction scalaire ou nom de colonne et peut également être les éléments d’une requête SQL qui comparent des valeurs à d’autres valeurs. Expression de tout type sauf texte ou image. Les fonctions d’agrégation et les sous-requêtes ne sont pas autorisées.
* COUNT toutes les lignes de la table cible, qu’elles incluent ou non des valeurs NULL.

Diagramme de syntaxe – Fonction COUNT ()

Dans les pages suivantes, nous avons expliqué comment appliquer COUNT () avec diverses clauses SQL. Pour ces applications, nous avons utilisé Oracle 10g Express Edition.

Une chose importante à propos de la fonction COUNT ():

Lorsque le * est utilisé pour COUNT (), tous les enregistrements (lignes) sont comptés si un contenu NULL mais COUNT (nom_colonne) ne compte pas un enregistrement si son champ est NULL. Voir les exemples suivants:

SQL COUNT lignes dans une table

Dans l’exemple suivant, un astérisque (*) est utilisé suivi du SQL COUNT () qui indique toutes les lignes de la table même s’il y a une valeur NULL.

Exemple de table: commandes

Pour obtenir le nombre de lignes dans la table « commandes » , l’instruction SQL suivante peut être utilisée:

Code SQL:

Sortie:

 COUNT(*)--------- 34

Présentation illustrée:

Sélectionnez COUNT (*) dans plusieurs tables

La requête suivante COUNT le nombre de lignes de deux tables différentes (ici nous utilisons des employés et des départements) en utilisant la commande COUNT (*).

Code SQL:

Sortie:

TOTAL_EMPLOYEES NO_OF_DEPARTMENTS--------------- ----------------- 107 27

SQL COUNT () avec nom de colonne

Dans cet exemple, la fonction SQL COUNT () exclut les valeurs NULL pour une colonne spécifique si la colonne est spécifiée comme argument entre parenthèses de COUNT func tion.

Exemple de tableau: listofitem

Pour obtenir le nombre de lignes dans le tableau « listofitem » avec la condition suivante –

1. COUNT nombre de lignes pour la colonne « coname »

l’instruction SQL suivante peut être utilisée:

Code SQL:

Résultat:

COUNT(CONAME)------------- 2

Expliquez:

L’instruction ci-dessus COMPTE les lignes de la colonne « coname » qui ne sont pas NULL .

SQL COUNT lignes avec un en-tête de colonne défini par l’utilisateur

Pour obtenir le nombre de lignes dans la table « orders » avec la condition suivante –

1. le résultat doit s’afficher avec un titre « Nombre de lignes »,

l’instruction SQL suivante peut être utilisée:

Code SQL:

Sortie:

Number of Rows-------------- 36

SQL COUNT () avec clause where

La clause WHERE peut être utilisée avec Fonction SQL COUNT () pour sélectionner des enregistrements spécifiques d’une table par rapport à une condition donnée.

Exemple:

Exemple de table: commandes

Pour obtenir le nombre de lignes dans la table « commandes » avec la condition suivante –

1.ord_amount par rapport à la commande est supérieur à 1500,

l’instruction SQL suivante peut être utilisée:

Résultat:

Number of Rows-------------- 22

Application de la fonction COUNT ()

Dans les pages suivantes, nous avons expliqué comment appliquer COUNT () avec diverses clauses SQL. Pour ces applications, nous avons utilisé Oracle 10g Express Edition.

La page COUNT avec DISTINCT explique comment appliquer la fonction COUNT avec DISTINCT et comment appliquer la fonction COUNT avec la clause ALL. Contrairement à l’utilisation de *, lorsque ALL est utilisé, les valeurs NULL ne sont pas sélectionnées.

La page COUNT HAVING explique comment appliquer la fonction COUNT avec la clause HAVING et HAVING et GROUP BY.

COUNT avec GROUP La page BY explique comment appliquer la fonction COUNT avecGROUP BY dans l’ordre croissant et dans l’ordre décroissant.

Remarque: Les sorties de ladite instruction SQL illustrée ici sont prises en utilisant Oracle Database 10g Express Edition

Voici une présentation de toutes les fonctions d’agrégation.

Exercices pratiques SQL

  • Exercices SQL, pratique, solution
  • SQL Récupérer des données à partir de tables
  • Opérateurs booléens et relationnels SQL
  • Caractères génériques SQL et opérateurs spéciaux
  • Fonctions d’agrégation SQL
  • Sortie de requête de formatage SQL
  • Requête SQL sur plusieurs tables
  • FILTRAGE et TRI sur base de données RH
  • SQL JOINS
    • SQL JOINS
    • SQL JOINS on Base de données RH
  • SOUS-REQUÊTES SQL
    • SOUS-REQUÊTES SQL
    • SQL SU BQUERIES on HR Database
  • SQL Union
  • SQL View
  • SQL User Account Management
  • Movie Database
    • Requêtes de BASE sur la base de données de films
    • SUBQUERIES sur la base de données de films
    • REJOINT sur la base de données de films
  • Soccer Database
    • Introduction
    • Requêtes de BASE sur la base de données de football
    • SOUS-REQUÊTES sur la base de données de football
    • REJOINT les requêtes sur la base de données de football
  • Base de données des hôpitaux
    • Introduction
    • BASIC, SUBQUERIES, and JOINS
  • Base de données des employés
    • Requêtes de BASE sur la base de données des employés
    • SOUS-REQUÊTES sur la base de données des employés
  • Plus à venir!

Leave a Reply

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *