Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
A little SQL brain teaser
Message
From
29/07/2015 02:46:07
 
 
To
All
General information
Forum:
Microsoft SQL Server
Category:
SQL syntax
Title:
A little SQL brain teaser
Environment versions
SQL Server:
SQL Server 2005
Application:
Web
Miscellaneous
Thread ID:
01622621
Message ID:
01622621
Views:
102
I'm actually writing some questions for a T-SQL test, and I dusted off this example from the vault.

This query and example (by itself) doesn't make much sense, but it does illustrate a subtle difference between 2 queries.

If anyone wants to answer this, I ask one thing - don't paste the code and run it...see if you can figure out the results just by reading.

Suppose I have this table...
CREATE TABLE dbo.MaxTest  (Name varchar(50), PayRate decimal(14,4))

insert into dbo.MaxTest values ('Kevin', 50),  
                                ('Katy', 60) 
Here are 2 code samples. What will happen in each of the two examples? (will I get an error, will I get a result, etc.)

sample 1:
DECLARE @MaxRate decimal(14,4)
SET @MaxRate = (SELECT MAX(PayRate) from dbo.MaxTest GROUP BY Name)
SELECT @MaxRate
sample 2:
DECLARE @MaxRate decimal(14,4)
SELECT @MaxRate = MAX(PayRate) FROM dbo.MaxTest GROUP BY Name
SELECT @MaxRate
Next
Reply
Map
View

Click here to load this message in the networking platform