Maison base de données Oracle La différence entre count1 et count* dans Oracle

La différence entre count1 et count* dans Oracle

Apr 30, 2024 am 06:12 AM
oracle Fonction d'agrégation

La différence entre COUNT(1) et COUNT(*) dans Oracle est la suivante : COUNT(1) ignore les valeurs nulles et ne compte que les lignes non vides ; COUNT(*) compte toutes les lignes, y compris les valeurs nulles qui fonctionnent ; le choix dépend de : s'il existe des valeurs nulles, des priorités en matière de performances ou de cohérence.

La différence entre count1 et count* dans Oracle

La différence entre COUNT(1) et COUNT(*) dans Oracle

Dans Oracle, COUNT(1) et COUNT(*) sont deux fonctions d'agrégation utilisées pour calculer le nombre d'enregistrements dans une table , mais il existe une différence subtile entre les deux.

COUNT(1)

  • Compte uniquement les lignes avec des valeurs non nulles.
  • Cela évite les erreurs de comptage lorsqu'il y a des valeurs nulles dans le tableau.
  • Exécutez légèrement plus rapidement que COUNT(*) car il ignore les valeurs nulles.

COUNT(*)

  • Compte toutes les lignes, y compris celles avec des valeurs nulles.
  • Il renverra un décompte précis même s'il y a des valeurs nulles dans le tableau.
  • Comme il inclut des valeurs nulles, il peut s'exécuter légèrement plus lentement que COUNT(1).

Lequel choisir ?

Le choix de COUNT(1) ou COUNT(*) dépend des facteurs suivants :

  • Présence de valeurs nulles : Si des valeurs nulles sont possibles dans le tableau, utilisez COUNT(1) pour éviter les faux comptages.
  • Performance : Si la vitesse est critique et que vous êtes sûr qu'il n'y a pas de valeurs nulles dans le tableau, vous pouvez utiliser COUNT(1).
  • Cohérence : Si vous souhaitez un nombre cohérent sur toutes les lignes, y compris les valeurs nulles, vous devez utiliser COUNT(*).

Exemple

Supposons qu'il existe une table nommée students qui contient les données suivantes :

<code>| id | name | age |
|---|---|---|
| 1 | John | 20 |
| 2 | NULL | 25 |
| 3 | Mary | 22 |</code>

Si vous interrogez cette table à l'aide de COUNT(1), elle renverra les résultats suivants :

<code>SELECT COUNT(1) FROM students;
2</code>

C'est parce que COUNT( 1 ) ignore les valeurs NULL.

Si vous interrogez cette table en utilisant COUNT(*), elle renverra les résultats suivants :

<code>SELECT COUNT(*) FROM students;
3</code>

C'est parce que COUNT(*) contient des valeurs NULL.

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!

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

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment apprendre Java sans prendre de détours. Partagez des méthodes et des techniques pour apprendre efficacement Java Comment apprendre Java sans prendre de détours. Partagez des méthodes et des techniques pour apprendre efficacement Java May 20, 2025 pm 08:24 PM

La clé pour apprendre Java sans prendre de détours est: 1. Comprendre les concepts de base et la grammaire; 2. Pratiquez plus; 3. Comprendre la gestion de la mémoire et la collecte des ordures; 4. Rejoignez les communautés en ligne; 5. Lisez le code des autres; 6. Comprendre les bibliothèques et les cadres communs; 7. Apprenez à faire face aux erreurs courantes; 8. faire un plan d'apprentissage et procéder étape par étape. Ces méthodes peuvent vous aider à maîtriser efficacement la programmation Java.

Que apprendre Java? Un résumé des itinéraires d'apprentissage Java et des points de connaissance essentiels Que apprendre Java? Un résumé des itinéraires d'apprentissage Java et des points de connaissance essentiels May 20, 2025 pm 08:15 PM

L'apprentissage Java nécessite l'apprentissage de la syntaxe de base, de la programmation orientée objet, des cadres de collecte, de la gestion des exceptions, du multithreading, du streaming d'E / S, du JDBC, de la programmation réseau et des fonctionnalités avancées telles que la réflexion et l'annotation. 1. La syntaxe de base comprend des variables, des types de données, des opérateurs et des instructions de flux de contrôle. 2. La programmation orientée objet couvre les classes, les objets, l'héritage, le polymorphisme, l'encapsulation et l'abstraction. 3. Le cadre de collection implique ArrayList, LinkedList, HashSet et HashMap. 4. Gestion des exceptions garantit la robustesse du programme à travers le bloc d'essai. 5. La programmation multithread nécessite une compréhension du cycle de vie du fil et de la synchronisation. 6. Les flux d'E / S sont utilisés pour la lecture des données, l'écriture et les opérations de fichiers. 7. JDBC est utilisé pour interagir avec les bases de données. 8. Passe de programmation réseau s

Connexion et visualisation des données des bases de données Oracle avec des outils BI tels que Tableau Connexion et visualisation des données des bases de données Oracle avec des outils BI tels que Tableau May 19, 2025 pm 06:27 PM

Pour connecter Oracle Database à Tableau pour la visualisation des données, vous devez suivre les étapes suivantes: 1. Configurez la connexion de la base de données Oracle dans Tableau, utilisez les pilotes ODBC ou JDBC; 2. Explorez les données et créez des visualisations, telles que les graphiques à barres, etc.; 3. Optimiser les requêtes SQL et les index pour améliorer les performances; 4. Utilisez des types et fonctions de données complexes d'Oracle pour implémenter via des requêtes SQL personnalisées; 5. Créer des vues matérialisées pour améliorer la vitesse de la requête; 6. Utilisez les fonctions interactives de Tableau telles que le tableau de bord pour une analyse approfondie.

Comment se connecter au pool de connexions de la base de données Oracle à l'aide de JDBC Comment se connecter au pool de connexions de la base de données Oracle à l'aide de JDBC Jun 04, 2025 pm 10:15 PM

Les étapes pour se connecter à un pool de connexions de base de données Oracle à l'aide de JDBC incluent: 1) Configurer le pool de connexion, 2) Obtenez la connexion à partir du pool de connexion, 3) Effectuer des opérations SQL et 4) Fermez les ressources. Utilisez OracleUCP pour gérer efficacement les connexions et améliorer les performances.

Utilisation de l'intégration de la base de données Oracle avec Hadoop dans un environnement Big Data Utilisation de l'intégration de la base de données Oracle avec Hadoop dans un environnement Big Data Jun 04, 2025 pm 10:24 PM

La raison principale de l'intégration des bases de données Oracle avec Hadoop est de tirer parti des puissantes capacités de gestion des données et de transaction d'Oracle, ainsi que des capacités de stockage et d'analyse de données à grande échelle de Hadoop. Les méthodes d'intégration comprennent: 1. Exporter les données d'OracleBigDataconnector à Hadoop; 2. Utilisez Apachesqoop pour la transmission des données; 3. Lisez les données Hadoop directement via la fonction de table externe d'Oracle; 4. Utilisez OracleGoldEngate pour obtenir la synchronisation des données.

Configuration de la requête parallèle et améliorations des performances dans les bases de données Oracle Configuration de la requête parallèle et améliorations des performances dans les bases de données Oracle May 19, 2025 pm 06:24 PM

Dans Oracle Database, les étapes pour configurer la requête parallèle pour améliorer les performances comprennent: 1. Définissez au niveau de la base de données et implémentez en modifiant les paramètres d'initialisation tels que parallel_degree_policy et parallel_max_servers; 2. Définir au niveau de la session, ajustez le parallélisme de la session en cours via la commande AlterSession; 3. Considérez des points clés tels que le parallélisme, la gestion des ressources et la distribution des données; 4. Améliorer les performances en optimisant la planification des requêtes, en ajustant le parallélisme et la surveillance et le réglage. Ces étapes aident à profiter des avantages des requêtes parallèles et à améliorer considérablement les performances de requête de la base de données.

Comment interroger votre mot de passe administrateur pour Oracle Database Comment interroger votre mot de passe administrateur pour Oracle Database Jun 04, 2025 pm 10:06 PM

Interroger directement les mots de passe de l'administrateur n'est pas recommandé en termes de sécurité. Le principe de conception de sécurité de la base de données Oracle est d'éviter de stocker les mots de passe en texte brut. Les méthodes alternatives incluent: 1. Réinitialisez le mot de passe utilisateur SYS ou système à l'aide de SQL * Plus; 2. Vérifiez le mot de passe chiffré via le package DBMS_CRYPTO.

Comment faire Oracle sans prendre une certaine valeur de champ Comment faire Oracle sans prendre une certaine valeur de champ Jun 04, 2025 pm 10:21 PM

Dans la base de données Oracle, si vous souhaitez ne pas renvoyer la valeur d'un certain champ lors de la demande, vous pouvez utiliser les trois méthodes suivantes: Énumérez uniquement les champs requis dans l'instruction SELECT et ne sélectionnez pas les champs indésirables. Créez des vues pour simplifier les requêtes, mais faites attention aux coûts de complexité et de maintenance des vues. L'exclusion des colonnes indésirables à l'aide de sous-requêtes ou de jointures est adaptée à l'exclusion dynamique des colonnes, mais peut affecter les performances de la requête. Chaque méthode a ses scénarios applicables et ses inconvénients potentiels, et la méthode la plus appropriée doit être sélectionnée en fonction des besoins spécifiques et des considérations de performance.

See all articles