Ordre d'une requête

Améliorer les performances des requêtes dans SQL Server

Dean Smith

Founder, Atamai Analytics

Requête : grands séismes

SELECT Country, Place, Magnitude
FROM Earthquakes
WHERE Magnitude >= 9
ORDER BY Magnitude DESC;
Country Place Magnitude
CL Bio-Bio; Chile 9.5
US Southern Alaska 9.2
ID off the west coast of northern Sumatra 9.1
JP near the east coast of Honshu; Japan 9.1
... ... ...
Améliorer les performances des requêtes dans SQL Server

Ordre de la syntaxe

                                 -- Ordre de la syntaxe
SELECT Country, Place, Magnitude -- 1. SELECT
FROM Earthquakes                                            
WHERE Magnitude >= 9            
ORDER BY Magnitude DESC;        
Améliorer les performances des requêtes dans SQL Server

Ordre de la syntaxe

                                 -- Ordre de la syntaxe
SELECT Country, Place, Magnitude -- 1. SELECT
FROM Earthquakes                 -- 2. FROM                            
WHERE Magnitude >= 9            
ORDER BY Magnitude DESC;        
Améliorer les performances des requêtes dans SQL Server

Ordre de la syntaxe

                                 -- Ordre de la syntaxe
SELECT Country, Place, Magnitude -- 1. SELECT
FROM Earthquakes                 -- 2. FROM                            
WHERE Magnitude >= 9             -- 3. WHERE
ORDER BY Magnitude DESC;        
Améliorer les performances des requêtes dans SQL Server

Ordre de la syntaxe

                                 -- Ordre de la syntaxe
SELECT Country, Place, Magnitude -- 1. SELECT
FROM Earthquakes                 -- 2. FROM                            
WHERE Magnitude >= 9             -- 3. WHERE
ORDER BY Magnitude DESC;         -- 4. ORDER BY       
Améliorer les performances des requêtes dans SQL Server

Ordre de traitement

                                 -- Ordre de la syntaxe | Ordre de traitement
SELECT Country, Place, Magnitude -- 1. SELECT        
FROM Earthquakes                 -- 2. FROM        1. FROM                       
WHERE Magnitude >= 9             -- 3. WHERE
ORDER BY Magnitude DESC;         -- 4. ORDER BY       
Améliorer les performances des requêtes dans SQL Server

Ordre de traitement

                                 -- Ordre de la syntaxe | Ordre de traitement
SELECT Country, Place, Magnitude -- 1. SELECT        
FROM Earthquakes                 -- 2. FROM        1. FROM                       
WHERE Magnitude >= 9             -- 3. WHERE       2. WHERE
ORDER BY Magnitude DESC;         -- 4. ORDER BY       
Améliorer les performances des requêtes dans SQL Server

Ordre de traitement

                                 -- Ordre de la syntaxe | Ordre de traitement
SELECT Country, Place, Magnitude -- 1. SELECT      3. SELECT
FROM Earthquakes                 -- 2. FROM        1. FROM                       
WHERE Magnitude >= 9             -- 3. WHERE       2. WHERE
ORDER BY Magnitude DESC;         -- 4. ORDER BY     
Améliorer les performances des requêtes dans SQL Server

Ordre de traitement

                                 -- Ordre de la syntaxe | Ordre de traitement
SELECT Country, Place, Magnitude -- 1. SELECT      3. SELECT
FROM Earthquakes                 -- 2. FROM        1. FROM                       
WHERE Magnitude >= 9             -- 3. WHERE       2. WHERE
ORDER BY Magnitude DESC;         -- 4. ORDER BY    4. ORDER BY    
Améliorer les performances des requêtes dans SQL Server

Erreurs de traitement


SELECT Country, 
       PlaceName, 
       Magnitude
FROM LargeEarthquakes            
WHERE Strength >= 9                 
ORDER BY Magnitud DESC;
Améliorer les performances des requêtes dans SQL Server

Traitement de FROM

                        -- Ordre de traitement
SELECT Country, 
       PlaceName, 
       Magnitude
FROM LargeEarthquakes   -- 1. FROM - la table LargeEarthquakes n'existe pas
WHERE Strength >= 9                 
ORDER BY Magnitud DESC;
--------------------------------------------------------------------------------
-- ERREUR
Invalid object name 'LargeEarthquakes'.
Améliorer les performances des requêtes dans SQL Server

Traitement de WHERE

                        -- Ordre de traitement
SELECT Country, 
       PlaceName, 
       Magnitude
FROM Earthquakes                              
WHERE Strength >= 9     -- 2. WHERE - la colonne Strength n'existe pas 
ORDER BY Magnitud DESC;
--------------------------------------------------------------------------------
-- ERREUR
Invalid column name 'Strength'.
Améliorer les performances des requêtes dans SQL Server

Traitement de SELECT

                        -- Ordre de traitement
SELECT Country, 
       PlaceName,       -- 3. SELECT - la colonne PlaceName n'existe pas
       Magnitude 
FROM Earthquakes                              
WHERE Magnitude >= 9                 
ORDER BY Magnitud DESC;
--------------------------------------------------------------------------------
-- ERREUR
Invalid column name 'PlaceName'.
Améliorer les performances des requêtes dans SQL Server

Traitement de ORDER BY

                        -- Ordre de traitement
SELECT Country, 
       Place, 
       Magnitude
FROM Earthquakes                              
WHERE Magnitude >= 9                 
ORDER BY Magnitud DESC;-- 4. ORDER BY - faute d'orthographe dans la colonne
________________________________________________________

-- ERREUR
Invalid column name 'Magnitud'.
Améliorer les performances des requêtes dans SQL Server

Sans erreur

SELECT Country, 
       Place, 
       Magnitude   
FROM Earthquakes                
WHERE Magnitude >= 9      
ORDER BY Magnitude DESC;       
Country Place Magnitude
CL Bio-Bio; Chile 9.5
US Southern Alaska 9.2
ID off the west coast of northern Sumatra 9.1
JP near the east coast of Honshu; Japan 9.1
... ... ...
Améliorer les performances des requêtes dans SQL Server

Ordre logique de traitement

1.  FROM

2. ON
3. JOIN
4. WHERE
5. GROUP BY
6. HAVING
7. SELECT
8. DISTINCT
9. ORDER BY
10. TOP
Améliorer les performances des requêtes dans SQL Server

Passons à la pratique !

Améliorer les performances des requêtes dans SQL Server

Preparing Video For Download...