Thứ tự truy vấn

Cải thiện hiệu năng truy vấn trong SQL Server

Dean Smith

Founder, Atamai Analytics

Truy vấn động đất lớn

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
... ... ...
Cải thiện hiệu năng truy vấn trong SQL Server

Thứ tự cú pháp

                                 -- Thứ tự cú pháp
SELECT Country, Place, Magnitude -- 1. SELECT
FROM Earthquakes                                            
WHERE Magnitude >= 9            
ORDER BY Magnitude DESC;        
Cải thiện hiệu năng truy vấn trong SQL Server

Thứ tự cú pháp

                                 -- Thứ tự cú pháp
SELECT Country, Place, Magnitude -- 1. SELECT
FROM Earthquakes                 -- 2. FROM                            
WHERE Magnitude >= 9            
ORDER BY Magnitude DESC;        
Cải thiện hiệu năng truy vấn trong SQL Server

Thứ tự cú pháp

                                 -- Thứ tự cú pháp
SELECT Country, Place, Magnitude -- 1. SELECT
FROM Earthquakes                 -- 2. FROM                            
WHERE Magnitude >= 9             -- 3. WHERE
ORDER BY Magnitude DESC;        
Cải thiện hiệu năng truy vấn trong SQL Server

Thứ tự cú pháp

                                 -- Thứ tự cú pháp
SELECT Country, Place, Magnitude -- 1. SELECT
FROM Earthquakes                 -- 2. FROM                            
WHERE Magnitude >= 9             -- 3. WHERE
ORDER BY Magnitude DESC;         -- 4. ORDER BY       
Cải thiện hiệu năng truy vấn trong SQL Server

Thứ tự xử lý

                                 -- Thứ tự cú pháp | Thứ tự xử lý
SELECT Country, Place, Magnitude -- 1. SELECT        
FROM Earthquakes                 -- 2. FROM        1. FROM                       
WHERE Magnitude >= 9             -- 3. WHERE
ORDER BY Magnitude DESC;         -- 4. ORDER BY       
Cải thiện hiệu năng truy vấn trong SQL Server

Thứ tự xử lý

                                 -- Thứ tự cú pháp | Thứ tự xử lý
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       
Cải thiện hiệu năng truy vấn trong SQL Server

Thứ tự xử lý

                                 -- Thứ tự cú pháp | Thứ tự xử lý
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     
Cải thiện hiệu năng truy vấn trong SQL Server

Thứ tự xử lý

                                 -- Thứ tự cú pháp | Thứ tự xử lý
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    
Cải thiện hiệu năng truy vấn trong SQL Server

Lỗi khi xử lý


SELECT Country, 
       PlaceName, 
       Magnitude
FROM LargeEarthquakes            
WHERE Strength >= 9                 
ORDER BY Magnitud DESC;
Cải thiện hiệu năng truy vấn trong SQL Server

Xử lý FROM

                        -- Thứ tự xử lý
SELECT Country, 
       PlaceName, 
       Magnitude
FROM LargeEarthquakes   -- 1. FROM - không tồn tại bảng LargeEarthquakes
WHERE Strength >= 9                 
ORDER BY Magnitud DESC;
--------------------------------------------------------------------------------
-- ERROR
Invalid object name 'LargeEarthquakes'.
Cải thiện hiệu năng truy vấn trong SQL Server

Xử lý WHERE

                        -- Thứ tự xử lý
SELECT Country, 
       PlaceName, 
       Magnitude
FROM Earthquakes                              
WHERE Strength >= 9     -- 2. WHERE - không tồn tại cột Strength 
ORDER BY Magnitud DESC;
--------------------------------------------------------------------------------
-- ERROR
Invalid column name 'Strength'.
Cải thiện hiệu năng truy vấn trong SQL Server

Xử lý SELECT

                        -- Thứ tự xử lý
SELECT Country, 
       PlaceName,       -- 3. SELECT - không tồn tại cột PlaceName
       Magnitude 
FROM Earthquakes                              
WHERE Magnitude >= 9                 
ORDER BY Magnitud DESC;
--------------------------------------------------------------------------------
-- ERROR
Invalid column name 'PlaceName'.
Cải thiện hiệu năng truy vấn trong SQL Server

Xử lý ORDER BY

                        -- Thứ tự xử lý
SELECT Country, 
       Place, 
       Magnitude
FROM Earthquakes                              
WHERE Magnitude >= 9                 
ORDER BY Magnitud DESC;-- 4. ORDER BY - sai chính tả cột
________________________________________________________

-- ERROR
Invalid column name 'Magnitud'.
Cải thiện hiệu năng truy vấn trong SQL Server

Không lỗi

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
... ... ...
Cải thiện hiệu năng truy vấn trong SQL Server

Thứ tự xử lý logic

1.  FROM

2. ON
3. JOIN
4. WHERE
5. GROUP BY
6. HAVING
7. SELECT
8. DISTINCT
9. ORDER BY
10. TOP
Cải thiện hiệu năng truy vấn trong SQL Server

Ayo berlatih!

Cải thiện hiệu năng truy vấn trong SQL Server

Preparing Video For Download...