Nâng caoHiểu sâu ~9 phút

Thứ tự thực thi câu lệnh

Hiểu thứ tự DBMS thực thi giúp bạn lý giải vì sao alias trong SELECT không dùng được ở WHERE, và HAVING khác WHERE.

Lý thuyết

Bạn viết: SELECT → FROM → WHERE → GROUP BY → HAVING → ORDER BY → LIMIT.

Nhưng DBMS chạy theo thứ tự logic:

  • 1. FROM / JOIN — xác định nguồn dữ liệu.
  • 2. WHERE — lọc dòng.
  • 3. GROUP BY — gom nhóm.
  • 4. HAVING — lọc nhóm.
  • 5. SELECT — chọn/ tính cột (alias sinh ra ở đây).
  • 6. ORDER BY — sắp xếp.
  • 7. LIMIT — cắt số dòng.
Vì SELECT chạy sau WHERE, bạn không thể dùng alias đặt trong SELECT ở mệnh đề WHERE.

Thuật ngữ (di chuột để xem giải thích)

Dữ liệu mẫu

Đang tải dữ liệu mẫu…