THE SQL Server Blog Spot on the Web

Welcome to - The SQL Server blog spot on the web Sign in | |
in Search

John Paul Cook

T-SQL joke

I was attending an ORM class for developers where I heard it said "Don't select star from a table". I've heard this many times and I'm sure you have, too. It makes for brittle code in case a column is added to the table. I started wondering if I could create an example that is an exception to the rule and came up with this:

create table aTable (

    star int



select star from aTable;


Published Saturday, October 9, 2010 12:01 AM by John Paul Cook

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS



Wes W. said:

Better yet, you can name the column "*" so you can really do "SELECT * FROM test;" and get just the one "*" column!

October 9, 2010 8:57 AM

ALZDBA said:

No Wes,

create table Star (idnr int not  null identity(1,1), "*" varchar(100), tsinsert datetime default getdate() )


insert into Star (  "*" ) values ('a') ;


Select * from star ;


idnr * tsinsert

1 a 2010-10-11 13:02:46.683

If you only want the column * in the result, you should code "*" or [*] .

Which supports the guideline to only select the columns you want.

Darn ... I just messed up a joke ;-(

October 11, 2010 7:06 AM

Paul White said:

SELECT  Data.string,


FROM    (




       ) Data (string)



       SELECT  [*] = Data.string FOR XML PATH ('')

       ) iTVF (xml_encoded);

October 11, 2010 11:27 PM

Leave a Comment


About John Paul Cook

John Paul Cook is a database and Azure specialist in Houston. He previously worked as a Data Platform Solution Architect in Microsoft's Houston office. Prior to joining Microsoft, he was a SQL Server MVP. He is experienced in SQL Server and Oracle database application design, development, and implementation. He has spoken at many conferences including Microsoft TechEd and the SQL PASS Summit. He has worked in oil and gas, financial, manufacturing, and healthcare industries. John is also a Registered Nurse currently studying to be a psychiatric nurse practitioner. Contributing author to SQL Server MVP Deep Dives and SQL Server MVP Deep Dives Volume 2. Connect on LinkedIn

This Blog



Privacy Statement