2016-05-03 23 views
1

Ich konvertiere veraltetes SQL (* =) in Left Join. Entsprechen die folgenden SQL-Anweisungen? Wird die Leistung verbessert?Wie konvertiert man altes SQL?

OLD

SELECT n.name, 
    n.address, 
    e.email, 
    e.title, 
    m.car, 
    l.type  
    FROM name n, 
    employee e, 
    miscellaneous m, 
    lifestyle l  
WHERE n.id = 3 
AND n.id = e.id 
AND n.id *= m.id 
AND n.id *= l.id; 

NEW

SELECT n.name, 
    n.address, 
    e.email, 
    e.title, 
    m.car, 
    l.type  
    FROM name n, 
    employee e, 
    miscellaneous m, 
    lifestyle l 
Inner Join empId ON n.id = e.id 
Left Join miscId ON n.id = m.id  
Left Join lifeId ON n.id = l.id; 
+1

side note beantwortet hat: warum nicht auch „convert“ die innere verbindet so Mischen Sie nicht Stile? –

+0

Interne Verbindung hinzugefügt. Ist die neue Abfrage der alten Abfrage gleichwertig? –

Antwort

5

Ihre neue Abfrage ist nicht korrekt.

wird die konvertierte Version sein:

SELECT n.NAME 
    , n.address 
    , e.email 
    , e.title 
    , m.car 
    , l.type 
FROM NAME n 
INNER JOIN employee e ON n.id = e.id 
LEFT JOIN miscellaneous m ON n.id = m.id 
LEFT JOIN lifestyle l ON n.id = l.id; 

WHERE n.id = 3 

Beide Abfragen das gleiche durchführen wird. Die erste ist nur altmodisch.

Bitte „Mark als Antwort“, wenn ein Beitrag die Frage