Maison > base de données > tutoriel mysql > Comment obtenir des décomptes séparés de plusieurs tables dans une seule requête SQL ?

Comment obtenir des décomptes séparés de plusieurs tables dans une seule requête SQL ?

DDD
Libérer: 2025-01-11 13:47:43
original
916 Les gens l'ont consulté

How to Get Separate Counts from Multiple Tables in a Single SQL Query?

*SÉLECTIONNEZ LE COMPTE ()**

À PARTIR DE PLUSIEURS TABLES

Lorsque vous travaillez avec des tables de base de données, il est parfois nécessaire d'obtenir les décomptes de plusieurs tables et d'afficher les résultats dans des colonnes distinctes. Un défi courant survient lorsque l'on tente de récupérer les décomptes de deux tables différentes (tab1 et tab2).

Utiliser UNION ALL que vous avez mentionné est une méthode courante. Cependant, cette méthode produit un ensemble de résultats avec une seule colonne, avec des décomptes affichés les uns après les autres.

Pour surmonter cette limitation et afficher le décompte dans une colonne séparée, une approche SQL différente est requise :

<code class="language-sql">SELECT  (
        SELECT COUNT(*)
        FROM   tab1
        ) AS count1,
        (
        SELECT COUNT(*)
        FROM   tab2
        ) AS count2
FROM    dual</code>
Copier après la connexion

Dans cette requête, l'instruction SELECT contient deux sous-requêtes :

  • La première sous-requête (entre parenthèses) récupère COUNT(*) de tab1 et l'assigne à l'alias count1.
  • La deuxième sous-requête (également entre parenthèses) fait la même chose pour tab2, mais l'attribue à count2.

La clause FROM utilise la table double, qui est une table virtuelle dans la base de données Oracle. Elle renvoie toujours une ligne de données avec une seule colonne. Cela est nécessaire pour créer une structure de jeu de résultats (similaire à une jointure croisée) pour prendre en charge les décomptes des deux sous-requêtes.

Par conséquent, cette requête produit une sortie avec deux colonnes : count1 et count2, contenant respectivement les décomptes de tab1 et tab2. Cette approche garantit une présentation claire et ordonnée des valeurs COUNT(*) de deux tables différentes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal