Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Another SQL Test question
Message
De
31/07/2015 03:34:34
 
 
À
31/07/2015 01:20:30
Information générale
Forum:
Microsoft SQL Server
Catégorie:
Syntaxe SQL
Versions des environnements
SQL Server:
SQL Server 2014
Application:
Web
Divers
Thread ID:
01622734
Message ID:
01622737
Vues:
49
Expect an error at least when trying to query nonexistant field in ordertable. Gut twitching when inserting strings into date fields... Dunno if it will be forcibly cast/parsed according to which rule or setting, but even then different date format rules ring warning bells, even if they will create no problems here with days < 13

>Suppose we have 2 tables....a simple vendor master and a simple orders table
>
>
>CREATE TABLE dbo.VendorMaster  (VendorPK int, VendorName varchar(100))
>CREATE TABLE dbo.OrderTable  (OrderID int, VendorFK int, OrderDate Date, OrderAmount money)
>
>INSERT INTO dbo.VendorMaster VALUES (1, 'Vendor A'), 
>                                                                     (2, 'Vendor B')
>
>INSERT INTO dbo.OrderTable VALUES (1, 1, '1-1-2008', 100), 
>                                                                  (2, 2, '1-1-2009', 50)
>
>
>Suppose I want the names of those Vendors with an order in 2008. Assume the inserts above worked fine, and I have 2 vendor rows and 2 order rows. Yes, I could do this with a JOIN. But I'll do it with a subquery. I write the following:
>
>
>SELECT * FROM dbo.VendorMaster   
>   WHERE VendorPK IN (SELECT VendorPK FROM dbo.OrderTable WHERE YEAR(OrderDate) = 2008)
>
>
>Will I get back...(choose only one answer)
>
>A) zero rows
>B) 1 row
>C) 2 rows
>D) 4 rows
>E) an error message
>
>Again, don't copy/paste the code and run it.....that would be cheating :)
>
>Is this a trick question? Give it a try!
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform