Joe Celko


SQLServerCentral Article

Mathematicians and SQL

Georg Ferdinand Ludwig Philipp Cantor is considered the creator of set theory, and his theories are the basis for the naïve set theory you learned in school. But there are lots of other mathematicians you should know, such as Hilbert, Frege, Russell, Zermelo and Dedekind. They made a lot of contributions, too. Hilbert Hilbert is […]

4.33 (3)

You rated this post out of 5. Change rating

2021-01-19

5,569 reads

SQLServerCentral Article

Data Element Names and Scoping Rules in SQL

How you name data elements in databases and applications programs has often been a matter of personal taste. Decades ago, when I worked for state government, there is a COBOL programmer who would pick a theme for his programs. The paragraphs and variables would be named based on the current theme. One of his programs […]

4.2 (5)

You rated this post out of 5. Change rating

2021-01-11

2,069 reads

External Article

Arrays in SQL that Avoid Repeated Groups

It is certainly possible to fake an Array in SQL, but there are only a few occasions when it would be the best design. Most often, the wish for an array in SQL is a sign of a forlorn struggle against poorly-normalised data. One of the worst sins against Codd is the repeating group, as Joe Celko explains.

2011-07-20

3,438 reads

External Article

Improving Comparison Operators and Window Functions

It is dangerous to assume that your data is sound. SQL already has intrinsic ways to cope with missing, or unknown data in its comparison predicate operators, or Theta operators. Can SQL be more effective in the way it deals with data quality? Joe Celko describes how the SQL Standard could soon evolve to deal with data in ways that allow aggregation and windowing in cases where the data quality is less than perfect.

2011-04-01

6,632 reads

External Article

The DIS-Information Principle: A Splitting Headache

You can easily re-factor bad DML code, but if a database design is wrong, you can do little to rescue the problem, even with expert queries. So what constitutes 'wrong RDBMS design? What are these errors that continually crop up? How can you recognise them and fix them? Joe embarks on a new series of articles by identifying a series of bad practices based on the habit of 'splitting' that which shouldn't be split.

2010-09-08

2,767 reads

SQLServerCentral Article

Celko's SQL Stumper: The Class Scheduling Problem

What can we use in SQL instead of E. F. Codd's T theta operators for best-fit? Joe Celko returns with another puzzle that isn't new, in fact it already features “Swedish”, “Croatian” and “Colombian” solutions in chapter 17 of Joe's 'SQL for Smarties' book. These were all written before CTEs or the new WINDOW functions. Is there now a better solution? Was there one even then? We leave it to the readers to provide the answer!

4 (3)

You rated this post out of 5. Change rating

2010-01-25

1,678 reads

SQLServerCentral Article

Celko's SQL Stumper: The Data Warehouse Problem

Joe Celko comes back with a puzzle that isn't new, but one where the answer he originally gave now seems archaic: It is a deceptively simple problem, but is it true that the new features of SQL have simplified the solution? We leave it to the readers to provide the answer!

3.56 (9)

You rated this post out of 5. Change rating

2009-09-28

3,501 reads

Blogs

Convert SQL Audit Files to a CSV Using Read-SqlXEvent

By

SQL Server Audit is an efficient way to track and log events that occur...

Control Flow Restartability in Azure Data Factory

By

I presented at SQL Saturday Pittshburgh this past weekend about populating your data warehouse...

Monday Monitor Tips: Knowing Your RPO

By

A customer was asking recently about the RPO for their estate, and I showed...

Read the latest Blogs

Forums

Error while connecting Local DB 2012 in Windows 7 PC using SSMS

By IT researcher

I am trying to access LocalDB 2012 on my Windows 7 SP1 PC. I...

The Modern Algorithm of Chance

By Steve Jones - SSC Editor

Comments posted to this topic are about the item The Modern Algorithm of Chance

Use Logic Apps To Save Money In Azure: Data Engineering in Fabric

By John Miner

Comments posted to this topic are about the item Use Logic Apps To Save...

Visit the forum

Question of the Day

Crazy Code I

I have this data in my Customer table:

CustomerID CustomerName
1          Steve
2          Andy
3          Brian
4          Allen
5          Devin
I run this code:
SELECT
  t.CustomerID
, c.value
FROM
  ( SELECT
      CustomerID
    , STRING_AGG (CustomerName, ',') AS me
    FROM customer
    GROUP BY CustomerID) t
  CROSS APPLY STRING_SPLIT(me, ',') c;
What is returned?

See possible answers