Botón para abrir el Menú Botón para cerrar el Menú
Logo da empresa Alura
Iniciar Sesión Nuestros Planes
Formaciones Conoce a Luri
  • Programación _
  • Front End _
  • Data Science _
  • DevOps _
  • Innovación y Gestión _
Artículos de Tecnología > Data Science

select count(*), count(1) y count(nombre): batalla de los counts de SQL

Alura
Guilherme Silveira
Guilherme Silveira
13/10/2020

Compartir

Cuando vamos a usar el count en la base de datos, nos enfrentamos con varias opciones de SQL, conozca las diferencias entre las diversas posibilidades de contar las filas de la tabla con el recuento en una base de datos.

Como ejemplo, ¿cuántos productos tiene mi empresa?

select count (nombre) from Productos;
> 198

Pero...

select count (id) from Productos;
> 200

¿Cómo así? ¿SQL está loco? ¿De nuevo?

select id, nombre from Productos where nombre is null;
> 190, null
> 196, null

¡El select count verifica el número de líneas no nulas dentro del recuento que desea hacer! Si tenía un nombre nulo, ¡no contaba! ¿Resultado? Error =/

Ten mucho cuidado con tus counts. Entonces, ¿qué debo decirte? Si deseas contar valores no nulos, use count(campo), como lo hicimos nosotros:

select count(nombre) from Productos;
> 198

Pero si deseas contarlos a todos, count estrella en él para no correr el riesgo, contará la cantidad de registros devueltos, independientemente de los valores nulos:

select count(\*) from Productos;
> 200

¿Y el 1? ¿Por qué count(1)?

select count(1) from Productos;
> 200

El count (1) sería una alternativa para count(campo) porque estaría seguro de que nunca sería nulo, y que no necesitaría leer el campo... sucede que se vuelve extraño select count (1), y ¿deseas tener un código extraño o un código legible?

Como dije, prefiero contar estrellas ... ¿y tú, contas estrellas, contas 1, o contas id?

Y ahora, el desafío: ¿cuál es el resultado del SQL a seguir?

select count(nombre) from Products where nombre is null;
> ????

¿Te gustaran estas prácticas y consejos de SQL? ¿Qué tal aprender más sobre Data Science? Entonces, ¡Mira nuestros cursos aquí en Alura!

Guilherme Silveira
Guilherme Silveira

Co-fundador da Alura. Com mais de 20 anos de ensino de tecnologia, criou mais de 100 cursos. Possui formação em engenharia de software, viés matemático e criativo, além de ser medalhista de ouro em competições nacionais de computação, tendo representado o Brasil nos mundiais. Participante de comunidades open source e de educação em tecnologia, tendo escrito 7 livros. Faz mágica e fala coreano no tempo livre.

Artículo Anterior
¿Append o Extend? Agregar elementos a la lista con Python
Siguiente Artículo
En SQL, null es null, vacío está vacío

Ver otros artículos sobre Data Science

Navegación

  • Planes
  • Instructores
  • Blog
  • Política de privacidad
  • Términos de uso
  • Sobre nosotros
  • Preguntas frecuentes

¡CONTÁCTANOS!

  • ¡Quiero entrar en contacto!

Blog

  • Programación
  • Data Science
  • Front End
  • Innovación y Gestión
  • DevOps

AOVS Sistemas de Informática S.A CNPJ 05.555.382/0001-33

SÍGUENOS EN NUESTRAS REDES SOCIALES

YouTube Facebook Instagram Linkedin Whatsapp Spotify

NOVEDADES Y LANZAMIENTOS

Aliados

  • Programa de aceleração Scale-Up Endeavor
  • En Alura somos unas de las Scale-Ups seleccionadas por Endeavor, programa de aceleración de las empresas que más crecen en el país.
  • Growth Academy 2021 do Google For Startups
  • Fuimos unas de las 7 startups seleccionadas por Google For Startups en participar del programa Growth Academy en 2021
Alura

Una empresa del grupo Alun

Logo do grupo Alun

AOVS Sistemas de Informática S.A CNPJ 05.555.382/0001-33

SÍGUENOS EN NUESTRAS REDES SOCIALES

YouTube Facebook Instagram Linkedin Whatsapp Spotify

Cursos

Cursos de Programación
Lógica de Programación | Java
Cursos de Front End
HTML y CSS | JavaScript | React
Cursos de Data Science
Data Science | Machine Learning | Excel | Base de Datos | Data Visualization | Estadística
Cursos de DevOps
Docker | Linux
Cursos de Innovación y Gestión
Transformación Ágil | Marketing Analytics

Alura

  • Educação em Tecnologia

    • logo fiap FIAP
    • logo casa do codigo Casa do Código
    • logo pm3 PM3 - Cursos de Produto
  • Mais Alura

    • logo alura start START BY Alura
    • logo alura lingua Alura Língua
    • logo alura para empresas Alura Para Empresas
    • logo alura latam Alura LATAM
  • Comunidade

    • logo tech guide Tech Guide
    • logo 7 days of code 7 days of code
    • logo Hipsters ponto Jobs Hipsters ponto Jobs
  • Podcasts

    • logo Hipster Network Hipster Network
    • logo Hipsters ponto Tech Hipsters ponto Tech
    • logo Dev sem fronteiras Dev sem Fronteiras
    • logo Like a Boss Like a Boss
    • logo IA Sob Controle IA Sob Controle
    • logo Mesa de Produto Mesa de Produto
    • logo Decode Decode
    • logo FIAPCast FIAPCast