SQL Structure Bài Mục tiêu n n n n n Tìm hiểu câu lệnh T-SQL để truy vấn liệu Tìm hiểu câu lệnh T-SQL có điều kiện truy vấn liệu tồn Tìm hiểu câu lệnh T-SQL để truy vấn liệu tồn theo nhóm Miêu tả ứng dụng hàm tập hợp khác SQL Server Miêu ta ứng dụng phép kết nối INNER JOIN để truy vấn nhiều bảng Concepts of RDBMS and SQL Server 2000/Session 6/ of 25 Truy vấn gì? Đưa câu hỏi cần quan tâm Truy vấn Khởi tạo Xử lý Trả lời câu hỏi – Trả tập hợp kết Người sử dụng Dữ liệu bảng SQL Server Concepts of RDBMS and SQL Server 2000/Session 6/ of 25 Câu lệnh SELECT truy vấn n n n n Truy vấn nhiều hàng cột Có thể truy vấn nhiều bảng nhiều CSDL Xác định cột yêu cầu truy vấn Các cột kết có thứ tự truy vấn Concepts of RDBMS and SQL Server 2000/Session 6/ of 25 Thành phần câu lệnh SELECT Danh sách cột Tên bảng Điều kiện Các mệnh đề khác Sử dụng truy vấn hàng cột Concepts of RDBMS and SQL Server 2000/Session 6/ of 25 SELECT – Cú pháp Ví dụ Cú Pháp: SELECT * FROM E.g.: Select * from STUDENT SELECT , … From E.g.: Select Name, Class, Mark from STUDENT Concepts of RDBMS and SQL Server 2000/Session 6/ of 25 Mệnh đề ORDER BY Concepts of RDBMS and SQL Server 2000/Session 6/ of 25 Hiển thị liệu với SELECT ORDER BY Concepts of RDBMS and SQL Server 2000/Session 6/ of 25 Mệnh đề DISTINCT Concepts of RDBMS and SQL Server 2000/Session 6/ of 25 Mệnh đề AS Mệnh đề AS dùng để đổi tên cột kết gán tên cho cột tính toán Ví dụ, để hiển thị tiêu đề “PNR Number” cho cột PNR_no bảng Reservation, câu lệnh SELECT là: Concepts of RDBMS and SQL Server 2000/Session 6/ 10 of 25 SELECT với ràng buộc Câu lệnh SELECT sử dụng với ràng buộc Ví dụ ràng buộc IDENTITY sử dụng đây: Ở Table1 bảng tồn Table2 bảng mà muốn thêm giá trị Concepts of RDBMS and SQL Server 2000/Session 6/ 11 of 25 Mệnh đề TOP Mệnh đề TOP giới hạn số lượng hàng trả tập kết Câu lệnh SELECT là: Cú pháp: SELECT TOP n FROM Concepts of RDBMS and SQL Server 2000/Session 6/ 12 of 25 Aggregate functions-1 n n n n Tính tổng giá trị Tính giá trị đơn từ tập hợp hàng Áp dụng tất hàng tập hợp hàng mệnh đề WHERE Ví dụ, AVG, SUM, MAX, MIN, COUNT Concepts of RDBMS and SQL Server 2000/Session 6/ 13 of 25 Aggregate functions-2 Concepts of RDBMS and SQL Server 2000/Session 6/ 14 of 25 Mệnh đề GROUP BY -1 Concepts of RDBMS and SQL Server 2000/Session 6/ 15 of 25 Mệnh đề GROUP BY -2 Concepts of RDBMS and SQL Server 2000/Session 6/ 16 of 25 Mệnh đề GROUP BY (3) Mệnh đề WHERE sử dụng với ‘GROUP BY’ để hạn chế hàng nhóm n Các giá trị rỗng nhóm n Tất từ khoá – sử dụng với mệnh đề WHERE bao gồm hàng không phù hợp điều kiện tìm kiếm Cú pháp: GROUP BY ALL n Concepts of RDBMS and SQL Server 2000/Session 6/ 17 of 25 Mệnh đề GROUP BY HAVING n n HAVING lọc hàng nhóm Thao tác cột với aggregate function (không giống ‘WHERE’ với GROUP BY) Concepts of RDBMS and SQL Server 2000/Session 6/ 18 of 25 Các toán tử quan hệ mệnh đề WHERE clause • Chúng ta sử dụng loại điều kiện tìm kiếm so sánh khác mệnh đề WHERE • Dưới danh sách toán tử so sánh khác đựoc sử dụng truy vấn Operator = > < >= ... Server 2000/Session 6/ of 25 Mệnh đề ORDER BY Concepts of RDBMS and SQL Server 2000/Session 6/ of 25 Hiển thị liệu với SELECT ORDER BY Concepts of RDBMS and SQL Server 2000/Session 6/ of 25 Mệnh đề... Server 2000/Session 6/ 13 of 25 Aggregate functions-2 Concepts of RDBMS and SQL Server 2000/Session 6/ 14 of 25 Mệnh đề GROUP BY -1 Concepts of RDBMS and SQL Server 2000/Session 6/ 15 of 25 Mệnh... Server 2000/Session 6/ of 25 Thành phần câu lệnh SELECT Danh sách cột Tên bảng Điều kiện Các mệnh đề khác Sử dụng truy vấn hàng cột Concepts of RDBMS and SQL Server 2000/Session 6/ of 25 SELECT –