UNION vs UNIONALL: #SQLNewBlogger

While writing another post I realized my UNION query didn’t work as one might initiall expect, so I decided a short post was worth writing. This is based on a previous post on QUOTENME().

Another post for me that is simple and hopefully serves as an example for people trying to get blogging as #SQLNewBloggers.

Missing a Row

When I ran this code, I got only a single row. There’s a UNION here, so why? One would expect two rows from these queries.

2026-05_0287

Let’s change to UNION ALL. Now we see this:

2026-05_0288

You can likely spot the reason, but it’s because both rows in the result are the same. In this cse, UNION is designed to remove duplicates. In the docs, it explicitly says

  • UNION ALL – Includes duplicates
  • UNION Excludes duplicates

We can see this in this examples I’ve got this code that gives me two virtual tables of numbers, some of which are duplicate:

WITH myTally(n)
AS
(SELECT n 
 FROM (VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10)) a(n)
)
, myTally2(n)
AS
(SELECT n 
 FROM (VALUES (1), (20), (3), (40), (5), (60), (7), (08), (9), (100)) b(n)
)
SELECT n
FROM myTally
UNION 
SELECT n
 FROM myTally2

When I run the query, with UNION, I see these results, 14 rows:

2026-05_0289

If I change to UNION ALL, 20 results.

2026-05_0290

Use UNION when you want unique things. UNION ALL if you need to see ALL The Rows.

SQL New Blogger

This post was about 8 minutes spent after I finished the other post. It is a quick expansion on something I saw in another post, it has a separate focus, and it shows I’ve realized something and built on previous work.

You can showcase these skills.

Posted in Blog | Tagged , , | 1 Comment

Republish: Fixing Imposter Syndrome

It’s the last day of vacation. My wife and I stayed in Seattle an extra night so we could unwind and then catch up with a friend this morning before we head back home.

While I am having a wonderful Filipino breakfast at Ludi’s, you get to re-read Fixing Imposter Syndrome.

If you get to Seattle and find the Biscuit Bitch too busy, walk down a block to Ludi’s and try their offerings. It’s wonderful. Garlicy, but I love the Long-silog.

Posted in Editorial | Tagged | Leave a comment

Join Me in San Diego to Learn about AI and Software Development

You might have seen this graphic on the side of my blog. It’s my discount code for VS Live in San Diego this September.

I got accepted to talk about LLMs on your local machine or data center, which is something I think will be more and more important in the future. Already the EU is less thrilled with US tech giants, and I suspect many other companies will rethink allowing their data to flow to non self-hosted LLMs.

I’m also talking about the Data API Builder, which makes software development much easier for software engineers, and includes an MCP server. I’m excited to showcase how this has grown over the last few years and think it’s a cool technology.

Register today, use my code, save your company some money, and join me in Sunny San Diego. The Padres aren’t in town, but we can still enjoy some time in San Diego.

Posted in Blog | Tagged | Leave a comment

Republish: Bean Counting to Burnout

I’m still on vacation. Today I think is Sitka on our Alaskan cruise, but in any case, no internet for me. Didn’t buy a package, not trying to check things in port.

You get to re-read Bean Counting to Burnout while I hike in the woods around town.

Posted in Editorial | Tagged | Leave a comment