Xem dữ liệu trong SQL Server 2014 (Bài 7)
Xem dữ liệu trong SQL Server 2014 là thao tác trích xuất thông tin được lưu trữ trong các table. Thông tin được truy xuất thông qua các cột và thông tin cần trích xuất có thể thuộc một hoặc nhiều bảng.
Thao tác này được sử dụng rất nhiều trong các hệ thống phần mềm hoặc website. Chẳng hạn khi các bạn đăng nhập vào facebook, hệ thống sẽ thực hiện trích xuất dữ liệu để kiểm tra tích hợp lệ của tài khoản mà bạn đăng nhập, ….
Ví dụ trích xuất tất cả thông tin chứa trong SinhVien
Xem dữ liệu trong SQL Server 2014 – Câu lệnh xem dữ liệu
Câu lệnh tổng quát
SELECT [DISTINCT] Danh_Sách_Cột
FROM Danh_Sách_Table
[WHERE Điều_Kiện]
[GROUP BY Danh_Sách_Cột]
[HAVING Điều_Kiện_Nhóm]
[ORDER BY Danh_Sách_Cột [asc|desc]]
Giải thích
Các mệnh đề trong cặp dấu [] không bắt buộc. Từ khóa DISTINCT giúp trả về các bản ghi không trùng lặp nhau hoặc Top: trả về n (hay %) bản ghi tìm thấy từ trên xuống. Mệnh đề WHERE cho phép truy vấn lựa chọn theo hàng (row). Mệnh đề GROUP BY cho phép nhóm dữ liệu theo hàng. Mệnh đề HAVING cho phép truy vấn lựa chọn theo nhóm. Mệnh đề ORDER BY cho phép sắp xếp dữ liệu theo cột (column).
Xem dữ liệu trong SQL Server 2014 – Xem tất cả các cột
Để xem thông tin của tất cả các cột trong bảng, chúng ta sử dụng toán tử đại diện * trong mệnh đề SELECT
SELECT * FROM Table
Ví dụ: Hiển thị thông tin của bảng SINHVIEN
select * from sinhvien
Xem dữ liệu trong SQL Server 2014 – Chỉ định cột
Nếu chúng ta chỉ muốn trích xuất thông tin của những cột cụ thể nào đó, chúng ta sẽ chỉ định tên cột trong mệnh đề SELECT
SELECT Column1, Column2 … FROM Table
Ví dụ: Hiển thị mã sinh viên, tên sinh viên và giới tính
Xem dữ liệu trong SQL Server 2014 – Mệnh đề Where
Trong trường hợp trích xuất thông tin có điều kiện như hiển thị danh sách sinh viên Nữ. Điều kiện ở đây là sinh viên có giới tính là Nữ.
Câu lệnh xem dữ liệu có điều kiện
SELECT */Danh_Sách_Cột
FROM Table
WHERE Điều_kiện
Ví dụ: Hiển thị danh sách sinh viên Nữ
SELECT *
FROM SinhVien
WHERE GioiTinh = N'Nữ'
Một số toán tử sử dụng với mệnh đề Where
= | So sánh bằng |
!= | Khác |
> | Lớn hơn |
< | Nhỏ hơn |
>= | Lớn hơn hoặc bằng |
<= | Nhỏ hơn hoặc bằng |
BETWEEN value1 AND value2 | So sánh nằm trong khoảng value1 và value2 |
LIKE | So sánh chuỗi, so sánh tương đối |
Xem dữ liệu trong SQL Server 2014 – Toán tử Like
Cho phép so sánh một chuỗi với chuỗi khác (có chứa các ký tự đại diện). Bảng bên dưới thể hiện các ký tự đại diện thường dùng kết hợp với Like
Ký tự đại diện | Mô tả |
_ | Thay cho một ký tự đơn |
% | Thay cho một chuỗi |
Ví dụ: Hiển thị danh sách nhân viên có họ Nguyễn
Câu lệnh xem và kết quả như hình
Xem dữ liệu trong SQL Server 2014 – Mệnh đề Order By
Order By giúp sắp xếp dữ liệu theo 1 trong 2 trường hợp. Một là sắp xếp tăng dần. Hai là sắp xếp giảm dần.
Nếu chúng ta liệt kê danh sách nhân viên sắp xếp tăng dần theo họ tên. Câu lệnh xem dữ liệu sẽ như sau
SELECT *
FROM NhanVien
Order By GioiTinh ASC
Kết quả sau khi thực thi
Xem dữ liệu trong SQL Server 2014 – Mệnh Group By
Mệnh đề GROUP BY cho phép nhóm các hàng dữ liệu có giá trị giống nhau thành một nhóm. Các tính toánsẽ được tính trên mỗi nhóm. Một số hàm nhóm như:
Min(column) | Tìm giá trị nhỏ nhất trong cột column |
Max(column) | Tìm giá trị lớn nhất trong cột column |
Avg(column) | Tìm giá trị trung bình của cột column |
Count (*) | Đếm số dòng |
Sum(Column) | Tính tổng |
Ví dụ: Đếm số nhân viên theo từng phòn ban
Kết quả trên thể hiện, phòng IT có 2 nhân viên, phòng nhân sự có 1 nhân viên.
Xem dữ liệu trong SQL Server 2014 – Mệnh đề Having
Mệnh đề HAVING được sử dụng làm điều kiện nhóm và được sử dụng với Group by. VÍ dụ hiển thị tên phòng và số lượng nhân viên của những phòng ban có số lượng nhân viên từ 2 trở lên.
Xem dữ liệu trong SQL Server 2014 – Xem dữ liệu từ nhiều bảng
Nếu dữ liệu chúng ta cần hiển thị thuộc nhiều bảng thì câu lệnh xem dữ liệu trong trường hợp này phải có sự tham gia của nhiều bảng.
Cú pháp
SELECT Danh_Sách_Cột
FROM Bảng_1, Bảng_2,...
WHERE Điều_Kiện_Liên_Kết_Giữa_Các_Bảng
Ví dụ: Cho biết Mã nhân viên, tên nhân viên, tên phòng ban và số điện thoại của phòng ban
Xem dữ liệu trong SQL Server 2014 – Bài tập thực hành
Cho cơ sở dữ liệu QuanLyBanHang
Yêu cầu: Viết câu lệnh xem
Câu 1. Hiển thị thông tin những vật tư có đơn vị tính là Bộ
Câu 2. Hiển thị thông tin của những đơn đặt hàng có ngày đặt hàng trong tháng 12
Câu 3. Cho biết có bao nhiêu nhà cung cấp ở Bình Dương
Câu 4. Hiển thị thông tin của những vật tư có đơn vị tính là Cái và có phần trăm từ 25 trở lên
Câu 5. Cho biết số phiếu nhập hàng, mã vật tư, số lượng nhập, đơn giá nhập, thành tiền nhập
Câu 6. Cho biết số phiếu nhập hàng, mã vật tư, số lượng nhập, đơn giá nhập, thành tiền nhập. Và chỉ liệt kê các chi tiết nhập có số lượng nhập > 5
Câu 7. Cho biết số phiếu xuất hàng, mã vật tư, số lượng xuất, đơn giá xuất, thành tiền xuất
Câu 8. Cho biết số lượng đặt cao nhất và thấp nhất đối với vật tư có mã là TV14
Câu 9. Cho biết tổng số lượng đặt đối với số đơn hàng là D006
Câu 10. Cho biết những vật tư có số lượng xuất từ 2 trở lên và sắp xếp giảm dần theo đơn giá.