Vraag : Verschil tussen de manier een sql vraag wordt geschreven

Kan iemand aan me verklaren:
1) wat het verschil tussen de manier is de twee vragen (in gewaagde teksten) higlighted, 2) worden geschreven waarom resultaat vastgestelde verschillend en
3) is wat een efficiëntere manier zou zijn om de 1st vraag te schrijven zodat de looppas sneller is, momenteel vergt het meer dan 3 minuten aan run.

SELECT VERSCHILLENDE f1, f2, f3
Case wanneer het f3='0 toen f3
Else f2 EIND als orig,
SUM ALS GT, verlaten zich
FROM dbo.vent bij oud op vent.id = old.id and vent.num = „0 ' staat
Where binnen aansluit ('a', 'b', „C“, „D“,„F“)
GROUP DOOR f1, f2, f3
order door f1

VS.

SELECT VERSCHILLENDE f1, f2, f3
Case wanneer het f3='0“ toen f3
Else f2 EIND als orig,
SUM ALS GT, verlaten zich
FROM dbo.vent bij oud op vent.id = staat old.id
Where in ('a', 'b', „C“, „D“, „F“) and vent.num = '0 '
GROUP DOOR f1, f2, f3
order door f1

aansluit

Antwoord : Verschil tussen de manier een sql vraag wordt geschreven

Enkel zo kunt u zien en, ook zien hoe het… voorspelbaar is

Controleer de kleine test hieronder:

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
cre�ër lijst #vent (identiteitskaart int., num int., varchar commentaren (100))
cre�ër lijst #old (identiteitskaart int., varchar commentaren (100))

neem waarden #vent op (1.0, „verschijnen hoe dan ook“)
neem waarden #vent op (2.1, „verschijnen als vent=0“ toetreden)
neem waarden #vent op (3.0, „verschijnen hoe dan ook“)
neem waarden #vent op (4.1, „verschijnen als vent=0“ toetreden)
neem waarden #vent op (5.0, „verschijnen hoe dan ook“)

neem waarden #old op (1, „verschijnt hoe dan ook“)
neem waarden #old op (2, „tonen nooit“)
neem waarden #old op (3, „verschijnen hoe dan ook“)
neem waarden #old op (4, „tonen nooit“)
GA
-- query1
selecteer *
van #vent
de linkerzijde sluit zich aan bij #old op #old.id = #vent.id en #vent.num = 0

-- query2
selecteer *
van #vent
de linkerzijde sluit zich aan bij #old op #old.id = #vent.id 
waar #vent.num = 0
GA

/*
-- vraag 1
identiteitskaart   num  commentaren
1    0    verschijnt hoe dan ook               1    hoe dan ook verschijnt
2    1    verschijnen als vent=0 zich binnen bij ONGELDIGE    ONGELDIG aansluiten                 -- neem nota hoe toont geen kolommen toetreed #old omdat slechts als num = 0 toetreed
3    0    verschijnen hoe dan ook               3    hoe dan ook verschijnen
4    1    verschijnen als vent=0 zich binnen bij ONGELDIGE    ONGELDIG aansluiten                 -- neem nota hoe toont geen kolommen toetreed #old omdat slechts als num = 0 toetreed
5    0    tonen hoe dan ook               ONGELDIGE ONGELDIG                 -- er zijn geen identiteitskaart = 5 in #old

-- vraag 2
identiteitskaart   num  commentaren
1    0    verschijnt hoe dan ook               1    hoe dan ook verschijnt
3    0    verschijnen hoe dan ook               3    hoe dan ook verschijnen
5    0    tonen hoe dan ook               ONGELDIGE ONGELDIG

*/
Andere oplossingen  
 
programming4us programming4us