Chọn một khẳng định nào sau đây là đúng nhất khi thực hiện truy vấn:
Trả lời:
Đáp án đúng: A
Trong quá trình thực hiện một truy vấn SQL, thứ tự các bước thực hiện thường như sau:
- FROM: Xác định các bảng hoặc quan hệ tham gia vào truy vấn. Phép kết nối tự nhiên (natural join) và các phép kết nối khác (inner join, left join, right join, full outer join) được thực hiện trên các quan hệ được chỉ định trong mệnh đề FROM để tạo ra một quan hệ kết hợp tạm thời.
- WHERE: Lọc các bản ghi dựa trên điều kiện được chỉ định. Phép chọn (selection) được thực hiện để chọn ra các bản ghi thỏa mãn điều kiện trong mệnh đề WHERE.
- GROUP BY: Nhóm các bản ghi có giá trị giống nhau trong một hoặc nhiều cột.
- HAVING: Lọc các nhóm bản ghi sau khi đã nhóm bằng GROUP BY.
- SELECT: Chọn các cột sẽ được hiển thị trong kết quả cuối cùng. Phép chiếu (projection) được thực hiện để chọn ra các cột mong muốn.
- ORDER BY: Sắp xếp các bản ghi theo một hoặc nhiều cột.
- LIMIT / OFFSET: Giới hạn số lượng bản ghi được trả về.
Dựa trên thứ tự này, ta có thể phân tích các lựa chọn:
- A. Thực hiện phép kết nối tự nhiên các quan hệ sau FROM: Đây là một khẳng định đúng. Mệnh đề FROM xác định các bảng và phép kết nối (nếu có) giữa chúng.
- B. Thực hiện phép hợp các quan hệ sau FROM: Không chính xác, mệnh đề FROM chủ yếu liên quan đến việc kết nối các quan hệ, không phải hợp.
- C. Thực hiện phép chiếu trên sau mệnh đề WHERE: Sai, phép chiếu được thực hiện sau phép chọn (WHERE) và thường ở bước SELECT.
- D. Thực hiện phép chọn sau mệnh đề WHERE: Đúng, mệnh đề WHERE dùng để lọc dữ liệu (phép chọn).
Tuy nhiên, câu hỏi yêu cầu chọn khẳng định đúng nhất. Mệnh đề A mô tả chính xác những gì xảy ra ngay sau mệnh đề FROM, trong khi mệnh đề D mô tả chức năng của mệnh đề WHERE. Do đó, đáp án A chính xác hơn vì nó chỉ rõ hoạt động kết nối giữa các quan hệ được thực hiện trước.





