SQL StructureBài 6 Concepts of RDBMS and SQL Server 2000 /Session 6/ 2 of 25 Mục tiêu n T ìm hiểu các câu lệnh T-SQL để truy vấn d ữ liệu dữ liệu đã tồn tại tại theo nhóm của SQL Server
Trang 1SQL Structure
Bài 6
Concepts of RDBMS and SQL Server 2000 /Session 6/ 2 of 25
Mục tiêu
n T ìm hiểu các câu lệnh T-SQL để truy vấn d ữ
liệu
dữ liệu đã tồn tại
tại theo nhóm
của SQL Server
để truy vấn trên nhiều bảng
Truy vấn là gì?
SQL Server
Truy
vấn
Dữ liệu trong các bảng
Khởi tạo
Đưa ra một câu
hỏi cần quan tâm
Trả lời câu hỏi – Trả
về tập hợp kết quả
Xử lý bởi
Trang 2Concepts of RDBMS and SQL Server 2000 /Session 6/ 4 of 25
Câu lệnh SELECT trong truy
vấn
n C ó thể truy vấn trên nhiều bảng hoặc
nhiều CSDL.
n Xác định các cột yêu cầu trong truy vấn
được chỉ ra.
n C ác cột kết quả có cùng thứ tự trong
truy vấn.
Concepts of RDBMS and SQL Server 2000 /Session 6/ 5 of 25
Thành phần của câu lệnh
SELECT
Danh sách các cột chỉ ra Tên các bảng
Điều kiện Các mệnh đề khác
Sử dụng truy vấn trên các hàng và các cột
SELECT – Cú pháp và Ví dụ
Trang 3Concepts of RDBMS and SQL Server 2000 /Session 6/ 7 of 25
Mệnh đề ORDER BY
Concepts of RDBMS and SQL Server 2000 /Session 6/ 8 of 25
Hi ển thị dữ liệu với SELECT
Mệnh đề DISTINCT
Trang 4Concepts of RDBMS and SQL Server 2000/Session 6/ 10 of 25
Mệnh đề AS
Mệnh đề AS cũng có thể dùng để đổi tên của
cột kết quả hoặc gán tên cho cột tính toán
V í dụ , để hiển thị tiêu đề “PNR Number”
lệnh SELECT l à :
Concepts of RDBMS and SQL Server 2000/Session 6/ 11 of 25
SELECT với các ràng buộc
Câu lệnh SELECT cũng có thể sử dụng với các ràng
buộc.
Ví dụ ràng buộc IDENTITY có thể sử dụng như
dưới đây:
Ở đây Table1 là bảng tồn tại và Table2 là bảng mà chúng ta
muốn thêm giá trị
Mệnh đề TOP
Trang 5Concepts of RDBMS and SQL Server 2000/Session 6/ 13 of 25
Aggregate functions-1
n T ính tổng các giá trị
n T ính giá trị đơn từ mỗi tập hợp của
hàng
n Áp dụng trên tất cả các hàng hoặc tập
hợp các hàng của mệnh đề WHERE
Concepts of RDBMS and SQL Server 2000/Session 6/ 14 of 25
Aggregate functions-2
Mệnh đề GROUP BY -1
Trang 6Concepts of RDBMS and SQL Server 2000/Session 6/ 16 of 25
Mệnh đề GROUP BY -2
Concepts of RDBMS and SQL Server 2000/Session 6/ 17 of 25
Mệnh đề GROUP BY (3)
‘GROUP BY’ để hạn chế hàng của nhóm
WHERE bao gồm các hàng không phù
hợp điều kiện tìm kiếm
Mệnh đề GROUP BY và
HAVING
Trang 7Concepts of RDBMS and SQL Server 2000/Session 6/ 19 of 25
• Chúng ta có thể sử dụng các loại điều kiện tìm
kiếm và so sánh khác nhau trong mệnh đề
WHERE
• Dưới đây là danh sách các toán tử so sánh khác
nhau đựoc sử dụng trong truy vấn
= Equal to
> Greater than
< Less than
>= Greater than or equal to
<= Less than or Equal to
<> Not equal to
! Not
Concepts of RDBMS and SQL Server 2000/Session 6/ 20 of 25
Ký tự đại diện và LIKE
Ký tự đại
diện
‘_’ Một ký tự đơn Select Branch_Code From Branch
Where Branch_Code Like ‘L ’
% Một chuỗi tương ứng Select Route_Code From
FlightSchedule Where Route_Code Like ‘AMS-%’
[] Một ký tự đơn nằm trong ngoặc Select Airbusno From
FlightSchedule Where Airbusno Like ‘AB0[1-5]’
[^] Bất kỳ ký tự đơn nào không nằm
trong khoảng trong ngoặc
Select Airbusno From FlightSchedule Where Airbusno Like ‘AB0[^1-5]’
IN, BETWEEN và %
Trang 8Concepts of RDBMS and SQL Server 2000/Session 6/ 22 of 25
LIKE
… WHERE <column1> LIKE (<value list>)
Toán tử LIKE operator được sử dụng để tìm kiếm các chuỗi phù
hợp hoặc một phần của chuỗi (gọi là chuỗi con).
SELECT * FROM Pending WHERE Icode LIKE ‘STCS-24-S-D_’
• Ký tự gạch chân (_) được sử dụng trong mệnh đề WHERE với toán tử
LIKE để đại diện một ký tự nào bất kỳ Ví dụ ‘_at’ có thể phù hợp với ‘rat’
hoặc ‘bat’ nhưng không thể là ‘rate’.
Giả sử bạn muốn kiểm tra xem có bao nhiêu cái vali màu đen, 24” soft
đang chưa được giải quyết Để làm điều này, các bản ghi thoả mãn
điều kiện dựa trên ký tự cuối cùng Câu lệnh truy vấn sẽ là:
Concepts of RDBMS and SQL Server 2000/Session 6/ 23 of 25
Các phép kết nối (1)
n Các phép kết nối giữa hai hoặc nhiều bảng dựa trên mối quan hệ logic
giữa các bảng
Các phép kết nối (2)
Trang 9Concepts of RDBMS and SQL Server 2000/Session 6/ 25 of 25
Phép kết nối Inner
n Các bản ghi từ hai bảng được kết nối và thêm vào
truy vấn kết quả, chỉ khi các bản ghi này thoả mãn
giá trị bằng nhau trên cột chung của cả 2 bảng