- [C#] Viết ứng dụng Auto Fill list Textbox from clipboard Winform
- [TOOL] Chia sẻ phần mềm thay đổi thông tin cấu hình máy tính
- [C#] Hướng dẫn Export dữ liệu ra file Microsoft Word Template
- [C#] Chia sẻ source code tool kiểm tra domain website
- [C#] Hướng dẫn tạo file PDF sử dụng thư viện QuestPDF
- [C#] Hướng dẫn tạo ứng dụng dock windows giống Taskbar
- [C#] Chia sẻ source code sử dụng Object Listview trên Winform
- [VB.NET] Chia sẻ source code quản lý thu chi mô hình 3 lớp Winform
- [DATABASE] Xóa lịch sử danh sách đăng nhập tài khoản trên SMSS Sqlserver Management Studio
- [C#] Sử dụng FolderBrowserDialog Vista trên Winform
- [DEVEXPRESS] Chia sẻ tool Winform UI Templates Early Access Preview (EAP)
- [C#] Chia sẻ source code Spin Content (Trộn nội dung văn bản theo từ đồng nghĩa) trên Winform
- [VB.NET] Chia sẻ source code lịch âm dương và hẹn lịch nhắc việc
- [C#] Hướng dẫn đọc thông số thiết bị Thiết bị kiểm tra Pin (HIOKI BATTERY HiTESTER BT3562)
- [VB.NET] Hướng dẫn giải captcha sử dụng dịch vụ AZCaptcha API trên winform
- [C#] Hướng dẫn chứng thực đăng nhập ứng dụng bằng vân tay (Finger Print) trên máy tính
- [C#] Color Thief cách xuất màu sắc thiết kế từ hình ảnh
- [C#] Cách tạo bản quyền và cho phép dùng thử ứng dụng Winform
- [C#] Hướng dẫn sử dụng trình duyệt web Chrome convert HTML sang tập tin file PDF
- [C#] Kết nôi điện thoại Android, IOS với App Winform via Bluetooth
[DATABASE] Thứ tự thực hiện mệnh đề truy vấn SELECT trong Sqlserver
Xin chào các bạn, bài viết hôm nay mình liệt kê thứ tự thực hiện một mệnh đề SELECT trong Sqlserver, để các bạn dễ hình dung, khi Sqlserver thực hiện nó sẽ chạy lần lượt như thế nào.
[DATABASE] Thứ tự thực hiện mệnh đề SELECT trong sqlserver
Ví dụ: Chúng ta có đoạn lệnh truy vấn Sqlserver dưới đây
SELECT distinct top 10 location, COUNT(*) AS cnt
FROM Users u
INNER JOIN Posts p ON u.Id = p.OwnerUserId
WHERE PostTypeId = 2
GROUP BY location
HAVING location LIKE '%vietnam%' AND COUNT(*) > 10
ORDER BY cnt
Trong câu truy vấn SQL Server của bạn, thứ tự thực hiện các mệnh đề SELECT là:
-
FROM
: Mệnh đề FROM: Xác định bảng hoặc tập hợp dữ liệu từ nơi bạn muốn truy vấn dữ liệu. Trong trường hợp này, bạn đang truy vấn dữ liệu từ bảng Users u và Posts p. -
INNER JOIN
: Mệnh đề INNER JOIN: Kết hợp các bảng Users và Posts dựa trên điều kiện u.Id = p.OwnerUserId. Điều này xảy ra sau khi mệnh đề FROM đã được thực hiện. -
WHERE
: Mệnh đề WHERE: Áp dụng điều kiện lọc dữ liệu. Trong trường hợp này, chỉ lấy các bài đăng (Posts) có PostTypeId = 2. -
GROUP BY
: Mệnh đề GROUP BY: Nhóm các dòng dữ liệu dựa trên cột location. Sau đó, bạn có thể áp dụng các hàm tổng hợp như COUNT(*) để đếm số lượng dòng dữ liệu trong mỗi nhóm. -
HAVING
: Mệnh đề HAVING: Áp dụng điều kiện lọc dữ liệu cho các nhóm đã được tạo bởi GROUP BY. Trong trường hợp này, chỉ lấy các nhóm có location chứa từ 'vietnam' và có số lượng dòng dữ liệu (COUNT(*)) lớn hơn 10. -
SELECT
: Mệnh đề SELECT: Chọn cột location và COUNT(*) (được đặt tên là cnt) từ kết quả truy vấn. Đây là mệnh đề cuối cùng trong câu truy vấn SELECT. -
DISTINCT
: Mệnh đề DISTINCT: Loại bỏ các giá trị trùng lặp từ kết quả truy vấn. Trong trường hợp này, chỉ lấy 10 bản ghi đầu tiên (top 10) từ kết quả sau khi áp dụng DISTINCT. -
ORDER BY
: Mệnh đề ORDER BY: Sắp xếp kết quả theo cột cnt (số lượng dòng dữ liệu) theo thứ tự tăng dần.
Ở đoạn truy vấn trên là các câu lệnh truy vấn mà chúng ta thường thấy.
Thanks for watching!