</>
⌕
Junior #select#execution-order#alias

Thứ tự thực thi logic của một câu SELECT là gì?

⚡ Trả lời nhanh

Thứ tự logic: FROM/JOIN, WHERE, GROUP BY, HAVING, SELECT, DISTINCT, ORDER BY, LIMIT. Vì vậy alias khai báo ở SELECT không dùng được trong WHERE nhưng dùng được trong ORDER BY.

1. FROM / JOIN     -> xác định tập dòng nguồn
2. WHERE           -> lọc dòng
3. GROUP BY        -> gom nhóm
4. HAVING          -> lọc nhóm
5. SELECT          -> tính biểu thức, đặt alias
6. DISTINCT
7. ORDER BY        -> sắp xếp (thấy alias)
8. LIMIT / OFFSET
SELECT price * qty AS amount FROM items
WHERE amount > 100;            -- lỗi ở nhiều DBMS: alias chưa tồn tại
🃏 Ôn bằng flashcard