Frage : Unterschied zwischen der Weise eine sql-Frage wird geschrieben

Kann jemand mir erklären:
1), was der Unterschied ist zwischen der Weise, welche die zwei Fragen (higlighted im fetten Text), 2) geschrieben werden, warum das gesetzte unterschiedliche des Resultats ist und
3), was eine mehr effiziente Art des Schreibens der 1. Frage sein würde, damit Durchläufe schneller ist, z.Z. übernimmt er 3 Minuten zu run.

SELECT EINDEUTIGES f1, F2, f3
Case, wenn f3='0 dann f3
Else F2 ENDE als orig,
SUM (gry) ALS GT, das
FROM dbo.vent gelassen altes auf vent.id = old.id and vent.num = „0 '
Where Zustand innen verbinden („A“, „B“, „C“, „D“,„F ")
GROUP DURCH f1, F2, f3
order durch f1

VS.

SELECT EINDEUTIGES f1, F2, f3
Case, wenn f3='0“ dann f3
Else F2 ENDE als orig,
SUM (gry) ALS GT, das
FROM dbo.vent gelassen altes auf vent.id = old.id
Where Zustand („A“, „B“, „C“, „D“, „F ") im and vent.num = '0 '
GROUP DURCH f1, F2, f3
order durch f1

verbinden

Antwort : Unterschied zwischen der Weise eine sql-Frage wird geschrieben

Gerade so Sie können sehen und sehen auch, wie es ist vorhersagbar…

Den kleinen Test heraus unten überprüfen:

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:
6:
37:
38:
39:
40:
41:
42:
43:
die Tabelle herstellen, die #vent ist (Identifikation int, numerischer int, die Anmerkungen varchar (100))
Tabelle #old (Identifikation int, die Anmerkungen verursachen varchar (100))

#vent Werte einsetzen (1.0, „zeigt sich irgendwie ")
#vent Werte einsetzen (2.1, „zeigt sich, wenn vent=0 innen verbinden ")
#vent Werte einsetzen (3.0, „zeigt sich irgendwie ")
#vent Werte einsetzen (4.1, „zeigt sich, wenn vent=0 innen verbinden ")
#vent Werte einsetzen (5.0, „zeigt sich irgendwie ")

#old Werte einsetzen (1, „zeigt sich irgendwie ")
#old Werte (2, „nie Erscheinen ") einsetzen
#old Werte einsetzen (3, „zeigt sich irgendwie ")
#old Werte (4, „nie Erscheinen ") einsetzen
GEHEN
-- query1
vorwählen *
von #vent
links schließen sich #old auf #old.id = #vent.id und #vent.num = 0 an

-- query2
vorwählen *
von #vent
links schließen sich #old auf #old.id = #vent.id an 
wo #vent.num = 0
GEHEN

/*
-- Frage 1
Identifikation-   numerische  Anmerkungen
1    0    stellt dar, dass oben irgendwie               1    sich irgendwie zeigt
2    1    zeigt sich, wenn vent=0 sich innen UNGÜLTIGER    NULL anschließen                 -- Anmerkung, wie die Verbindung keine #old Spalten zeigt, weil nur verbinden wenn numerisches = 0
3    0    stellt dar, dass oben irgendwie               3    sich irgendwie zeigt
4    1    zeigt sich, wenn vent=0 sich innen UNGÜLTIGER    NULL anschließen                 -- Anmerkung, wie die Verbindung keine #old Spalten zeigt, weil nur verbinden wenn numerisches = 0
5    0    zeigt sich irgendwie               UNGÜLTIGE NULL                 -- es gibt nicht Identifikation = 5 im #old

-- Frage 2
Identifikation-   numerische  Anmerkungen
1    0    stellt dar, dass oben irgendwie               1    sich irgendwie zeigt
3    0    stellt dar, dass oben irgendwie               3    sich irgendwie zeigt
5    0    zeigt sich irgendwie               UNGÜLTIGE NULL

*
Weitere Lösungen  
 
programming4us programming4us