NoVPS
FeaturesBlogSupport
Join waitlist
Community

Count(*) vs Count(1) in SQL

Vishal Barvaliya

Sun, Aug 4, 2024

Main picture

If you’ve spent any time writing SQL queries, you’ve probably seen both COUNT(*) and COUNT(1) used to count rows in a table. But what’s the difference between them, and which one should you use? Let’s break it down.

Let's discuss COUNT(*) and COUNT(1) in SQL. You've probably seen both used to count rows in a table, but what's the difference, and which one should you use?

What They Do

  • COUNT(*): Counts all the rows in a table, regardless of NULL values or anything else. It simply tallies up the total number of rows.
  • COUNT(1): Also counts all the rows, but does so by counting the number of times the literal value 1 appears in each row. It’s like saying, "Count every row where 1 is present."

Performance Talk

In terms of performance, there's usually not much difference between the two. Modern databases handle both efficiently. While some argue that COUNT(1) might be slightly faster in older databases due to counting a constant value, the performance difference is typically negligible.

Readability Matters

Readability is crucial. When you see COUNT(*), it’s immediately clear that you're counting all the rows. It’s straightforward and easy to understand. On the other hand, COUNT(1) might cause a moment of confusion since it’s less obvious that it’s counting all rows.

Final Thoughts

So, which one should you use? It largely depends on personal preference and your project's coding standards. Both COUNT(*) and COUNT(1) are effective, but COUNT(*) is generally preferred for its clarity and readability.

Ultimately, choose the one that makes the most sense to you and your team. As long as your SQL queries are easy to understand and maintain, you’re in good shape.

Subscribe to stay updated

Never miss out on valuable insights and tips. Subscribe to our newsletter and get the latest blog posts delivered straight to your inbox.

Legal

Privacy PolicyTerms and ConditionsAcceptable Use Policy
NoVPS

© 2024 NoVPS Cloud LTD

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.