TRANG CHỦ BÀI VIẾT SQL (Structured Query Language) [SQL1] Thứ tự Logic thực sự khi SQL thực thi một truy vấn

[SQL1] Thứ tự Logic thực sự khi SQL thực thi một truy vấn

Mời cả nhà cũng tham khảo bài chia sẻ đầu tiên về Thứ tự Logic khi SQL thực hiện của Mentor ạ ^^

Chắc hẳn ace BA không lạ gì với câu lệnh SQL nữa, thường có thứ tự như SELECT, FROM, JOIN, WHERE..
Nhưng THỨ TỰ LOGIC thực sự khi SQL thực thi một truy vấn có phải giống thứ tự bạn viết các câu lệnh trong truy vấn không?
Câu trả lời là KHÔNG.
Khi SQL thực thi, nó sẽ tuân theo thứ tự logic như sau:

FROM >> JOIN >> ON >> WHERE >> GROUP BY >> HAVING >> SELECT >> ORDER BY >> LIMIT

(trích nguồn ảnh ByeByeGo)
1. FROM:
• Mô tả: Đầu tiên, SQL xác định bảng chính (trong ví dụ này là t1) mà dữ liệu sẽ được lấy từ đó. Đây là bước đầu tiên để xác định tập dữ liệu cơ bản mà các câu lệnh khác sẽ thao tác trên đó.
• Ý nghĩa: Việc chọn bảng chính là nền tảng để từ đó thực hiện các thao tác khác như lọc, nhóm, hoặc kết hợp với các bảng khác.

2. JOIN:
• Mô tả: Nếu truy vấn có sự kết hợp giữa hai hoặc nhiều bảng, bước này thực hiện phép JOIN để kết hợp các bảng lại với nhau. Trong hình, t1 được kết hợp với t2.
• Ý nghĩa: Việc kết hợp bảng giúp lấy dữ liệu liên quan từ nhiều bảng khác nhau dựa trên điều kiện kết hợp.

3. ON:
• Mô tả: Sau khi xác định các bảng cần kết hợp, SQL áp dụng điều kiện ON để lọc các dòng từ hai bảng mà chúng có giá trị tương ứng trong các cột chỉ định (ví dụ t1.column_a = t2.column_a).
• Ý nghĩa: Điều kiện này đảm bảo rằng chỉ những dòng có dữ liệu phù hợp giữa các bảng mới được giữ lại trong tập kết quả.

4. WHERE:
• Mô tả: SQL tiếp tục lọc dữ liệu từ bảng hoặc kết quả của phép JOIN dựa trên điều kiện được chỉ định trong mệnh đề WHERE.
• Ý nghĩa: Điều kiện WHERE giúp loại bỏ những dòng không phù hợp trước khi thực hiện các thao tác tiếp theo như nhóm hoặc sắp xếp.

5. GROUP BY:
• Mô tả: Sau khi dữ liệu đã được lọc, SQL nhóm các dòng theo một hoặc nhiều cột, tạo ra các tập hợp con của dữ liệu dựa trên giá trị của các cột đó.
• Ý nghĩa: Bước này quan trọng trong các truy vấn cần tính toán các giá trị tổng hợp (như tổng, trung bình) theo nhóm.

6. HAVING:
• Mô tả: Bước này là một bộ lọc tiếp theo, nhưng thay vì lọc dòng như WHERE, HAVING lọc các nhóm đã được tạo ra từ GROUP BY.
• Ý nghĩa: HAVING hữu ích trong việc lọc các nhóm dựa trên các điều kiện tổng hợp, ví dụ như chỉ giữ lại các nhóm có tổng giá trị lớn hơn một ngưỡng nhất định.

7. SELECT:
• Mô tả: Bây giờ, SQL xác định các cột cụ thể cần hiển thị trong kết quả cuối cùng từ các dòng hoặc nhóm đã được xử lý qua các bước trên.
• Ý nghĩa: SELECT là nơi bạn thực sự lấy ra dữ liệu mà bạn muốn hiển thị trong kết quả truy vấn.

8. ORDER BY:
• Mô tả: SQL sắp xếp các kết quả cuối cùng theo một hoặc nhiều cột được chỉ định trong mệnh đề ORDER BY, theo thứ tự tăng dần (ASC) hoặc giảm dần (DESC).
• Ý nghĩa: Sắp xếp dữ liệu giúp bạn trình bày kết quả một cách có trật tự và dễ hiểu hơn.

9. LIMIT:
• Mô tả: Cuối cùng, SQL chỉ lấy ra một số lượng dòng nhất định từ kết quả sau khi đã sắp xếp, dựa trên giới hạn mà bạn đặt ra trong mệnh đề LIMIT.
• Ý nghĩa: LIMIT giúp bạn giới hạn số lượng kết quả trả về, rất hữu ích trong các trường hợp bạn chỉ muốn xem một số dòng nhất định từ kết quả truy vấn.

 

Việc hiểu rõ về thứ tự logic của các bước thực thi trong SQL giúp bạn viết các truy vấn hiệu quả hơn và hiểu được tại sao đôi khi kết quả lại không như mong muốn khi các điều kiện hoặc câu lệnh không được đặt đúng thứ tự.

 


------------------------------------------------------------------------------------------------------------------------------------------------------------------
Nếu bạn có dự định thi chứng chỉ CCBA và CBAP, hãy inbox ngay để được tư vấn kỹ lưỡng về kỳ thi IIBA. Với CCBA CBAP Business Analyst Mentor 
Đã thi là phải ĐỖ!
Tham gia group để nhận nhiều chia sẻ hữu ích:
- Group Facebook: https://www.facebook.com/groups/1338866603473867
- Group Telegram: https://t.me/ccbacbapvietnam
#CCBA #CBAP #IIBA #BABOK #CCBACBAPMENTORVIETNAM