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…
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…
Khu vực thực hành
Đang tải trình soạn thảo…
Chạy truy vấn để xem kết quả tại đây.
Bài tập (0/1)
1
Lấy city và COUNT(*) AS n từ users, chỉ người age >= 18, gom theo city, chỉ nhóm có n >= 2, sắp n giảm dần.
Đang tải trình soạn thảo…
Checklist hoàn thành
- Chạy thử truy vấn mẫu
- Hoàn thành bài tập (0/1)
Trình mô phỏng thực thi SQL
Đang khởi tạo cơ sở dữ liệu…