Truy vấn dữ liệu Ghi chú:

Một phần của tài liệu bài giảng chương 5 ngôn ngữ sql (Trang 50 - 55)

- Cấu trúc câu lệnh Select Select [Tên_bảng.]Tên_cột [, Ž]

Truy vấn dữ liệu Ghi chú:

- Ghi chú:

Mệnh đề Select: chứa các cột, các hàm muốn hiển thị. Nếu Tên_Cộttồn tại trong nhiều bảng, ta phải ghi rõ:Tên_Bảng.Tên_Cột

Nếu hiển thị tất cả các cột trong bảng: Ten_Bang.*

100

Xây dựng 1 CSDL với SQL Server

51

Truy vấn dữ liệu- Ghi chú: - Ghi chú:

Các toán tử dùng trên mệnh đề Select

∗ Cú pháp: SelectToán_tử [Tên_bảng.]Tên_cột [, U]

∗ Với các toán tử:

Distinct: loại bỏ các dòng dữ liệu trùng Top n: lấy n dòng đầu tiên

Top n with ties: lấy những dòng thuộc n cấp đầu tiên theo giá trị của cột được sắp xếp

Top n percent: lấy N % số dòng trả về

101

Môn học: CƠ SỞ DỮ LiỆU 101

Truy vấn dữ liệu- Ghi chú: - Ghi chú:

Trong mệnh đềSelect ta có thể dùng cấu trúc lệnh:

Case

When Điều_kiện_1 Then Giá_trị_1 When Điều_kiện_2 Then Giá_trị_2 U

Else Giá_trị_n End

102

Xây dựng 1 CSDL với SQL Server

Truy vấn dữ liệu- Ghi chú: - Ghi chú:

Mệnh đề From: cho biết dữ liệu trên câu truy vấn được lấy từ các bảng nào

Nếu dữ liệu lấy từ nhiều bảng thì các bảng này phải có quan hệ với nhau:

- Cú pháp:

Bảng_ 1 inner join Bảng_2on Bảng_1.Tên_cột =Bảng_2.Tên_cột

103

Xây dựng 1 CSDL với SQL Server

Môn học: CƠ SỞ DỮ LiỆU 103

Truy vấn dữ liệu- Ghi chú: - Ghi chú:

Nếu hai bảng liên kết với nhau qua mệnh đề inner join thì kết quả trả về là những dòng của hai bảng có giá trị bằng nhau tại cột liên kết.

Nếu hai bảng liên kết với nhau qua mệnh đề left join(right

join) thì kết quả trả về là những dòng của hai bảng có giá trị bằng nhau tại cột liên kết và các dòng của bảng bên trái (bên phải) có dữ liệu không bằng dữ liệu của cột liên kết trong bảng kia.

Nếu hai bảng liên kết với nhau qua mệnh đề full join thì kết quả trả về là những dòng của hai bảng có giá trị bằng nhau tại cột liên kết và các dòng dữ liệu của cả hai bảng không bằng nhau tại cột liên kết.

104

Xây dựng 1 CSDL với SQL Server

53

Truy vấn dữ liệu- Ghi chú: - Ghi chú:

Mệnh đề Where: để lọc dữ liệu trả về hoặc để gom nhóm Nếu có nhiều điều kiện lọc thì các điều kiện này phải kết với nhau bằng toán tử and(và) hoặc or(hoặc).

Trong mệnh đề Where,có thể sử dụng các toán tử:

Liketìm chuỗi gần đúng

%: đại diện 1 chuỗi các ký tự

_(Gạch dưới): đại diện 1 ký tự

Between Giá_trị_1and Giá_trị_2

105

Môn học: CƠ SỞ DỮ LiỆU 105

Truy vấn dữ liệu- Ghi chú: - Ghi chú:

Mệnh đề Group by: để gom nhóm dữ liệu

Mệnh đề này phải có khi câu truy vấn có sử dụng hàm thống kê và có lấy thêm các cột không sử dụng hàm thống kê trên mệnh đề Select

Cú pháp: Group By Danh_sách_cột, Biểu_thức

∗ Với Danh_sách_cột, Biểu_thức: là tất cả các cột không sử dụng hàm thống kê trên mệnh đề Select, lược bỏ các nhãn (asten_nhan)

106

Xây dựng 1 CSDL với SQL Server

Truy vấn dữ liệu- Ghi chú: - Ghi chú:

Các Hàm thống kê:

Sum (Tên_cột):tính tổng với cột có kiểu số

Count (Tên_cột / *): đếm tổng số dòng

Avg (Tên_cột): tính giá trị trung bình cộng

Max (Tên_cột): giá trị lớn nhất

Min (Tên_cột): giá trị nhỏ nhất

107

Xây dựng 1 CSDL với SQL Server

Môn học: CƠ SỞ DỮ LiỆU 107

Truy vấn dữ liệu- Ghi chú: - Ghi chú:

Mệnh đề Having: dùng để lọc nhóm dữ liệu, chỉ tồn tại khi điều kiện lọc dữ liệu có hàm thống kê.

Chú ý:trong câu truy vấn có hai mệnh đề lọc dữ liệu là Where

và Having

∗ Where:lọc dữ liệu để tạo nhóm (các điều kiện không sử dụng hàm thống kê).

∗ Having: lọc nhóm (các điều kiện có sử dụng hàm thống kê).

108

Xây dựng 1 CSDL với SQL Server

55

Truy vấn dữ liệu- Ghi chú: - Ghi chú:

Mệnh đề OrDer By: để sắp xếp dữ liệu.

Asc: tăng dần (default)

Desc: giảm dần

Mệnh đề Compute /Compute Ž By : tạo giá trị thống kê cuối kết quả hoặc thống kê theo cột.

Compute Hàm_thống_kê: tạo thống kê cuối kết quả

Compute Hàm_thống_kê By [Tên_bảng.]Tên_cột: thống kê theo cột, dữ liệu phải được sắp xếp theo cột này.

Chú ý: Trong View không có mệnh đề này

109

Môn học: CƠ SỞ DỮ LiỆU 109

Một phần của tài liệu bài giảng chương 5 ngôn ngữ sql (Trang 50 - 55)

Tải bản đầy đủ (PDF)

(58 trang)