Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
A little SQL brain teaser
Message
De
29/07/2015 02:46:07
 
 
À
Tous
Information générale
Forum:
Microsoft SQL Server
Catégorie:
Syntaxe SQL
Titre:
A little SQL brain teaser
Versions des environnements
SQL Server:
SQL Server 2005
Application:
Web
Divers
Thread ID:
01622621
Message ID:
01622621
Vues:
101
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
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform