Bài 10 Truy vấn dữ liệu pptx

20 375 0
Bài 10 Truy vấn dữ liệu pptx

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài 10 Truy vấn dữ liệu Mục đích bài học: Cuối bài học viên có thể:  Nắm vững cách truy vấn dữ liệu bằng các truy vấn T-SQL đơn giản.  Dùng các truy vấn T-SQL để truy xuất dữ liệu theo điều kiện.  Dùng các truy vấn T-SQL để truy xuất dữ liệu theo nhóm.  Dùng các truy vấn T-SQL để truy xuất dữ liệu không trùng lặp.  Nắm vững cách dùng các hàm tập hợp trong SQL Server.  Nắm vững cách dùng INNER JOIN để truy xuất dữ liệu từ nhiều bảng. Giới thiệu Trong bài trước chúng ta đã học cách thêm, sửa và xoá dữ liệu trong bảng. Chúng ta đã nắm được cách sử dụng các câu lệnh và các toán tử hỗ trợ bởi SQL Server. Chúng ta đã học cú pháp của các câu lệnh INSERT, UPDATE và DELETE và sử dụng các câu lệnh này trong một số ví dụ. Chúng ta cũng đã bàn về khái niệm liên kết các bảng và cuối cùng chúng ta đã bàn về việc nhập và xuất dữ liệu vào ra SQL Server bằng công cụ hỗ trợ DTS (Data Transformation Services). Trong bài này chúng ta sẽ xem xét kỹ các câu lệnh T-SQL dùng để truy xuất dữ liệu từ nhiều bảng. Chúng ta sẽ tìm hiểu chi tiết các truy vấn giúp truy xuất dữ liệu hiệu quả nhất từ nhiều bảng. Chúng ta cũng sẽ tóm lược cách dùng các hàm tập hợp và cách sử dụng INNER JOIN để truy xuất dữ liệu từ nhiều bảng. 10.1 Dùng T-SQL để truy xuất dữ liệu Mục đích chính của SQL là dùng để giao tiếp với cơ sở dữ liệu. Dữ liệu chỉ có ý nghĩa khi chúng ta truy xuất và thao tác với chúng. Truy vấn là một dạng câu hỏi được viết bằng Ngôn ngữ truy vấn có cấu trúc (SQL). Theo tên gọi thì SQL là ngôn ngữ tốt nhất để viết các câu truy vấn. Dùng SQL ta có thể truy vấn bất kỳ thành phần dữ liệu nào trong các bảng của cơ sở dữ liệu quan hệ. Chúng ta đã quen thuộc với các truy vấn dữ liệu từ một bảng. Câu lệnh dùng để viết truy vấn là SELECT. Khi thực thi câu lệnh SELECT, thông tin lưu trữ trong bảng được hiển thị. Chúng ta có thể mở rộng câu lệnh này để tạo ra các câu truy vấn rất phức tạp và nhiều thành phần. SELECT là câu lệnh SQL quan trọng nhất. Dùng SELECT chúng ta có thể:  Hiển thị một số hay tất cả các trường trong bảng.  Hiển thị một số hay tất cả các bản ghi trong bảng.  Hiển thị các thông tin tính toán của dữ liệu trong bảng như giá trị trung bình hoặc tổng của các giá trị trong trường.  Liên kết thông tin từ hai hoặc nhiều bảng. Các câu truy vấn SQL khá đơn giản so với các ngôn ngữ lập trình khác. 10.1.1 Truy vấn và cú pháp của SELECT Câu lệnh SELECT đơn giản được xây dựng từ năm thành phần cơ bản sau: Truy vấn dữ liệu 155 SELECT <tablename> ; FROM <columnname(s)> 1 2 3 4 5 Hình 10.1 – Câu lệnh SELECT 1. SELECT là từ khoá đầu tiên trong truy vấn, theo sau là một dấu cách phân tách với danh sách các trường. 2. <columnname(s)> (tên các trường) phải là thành phần tiếp theo trong câu truy vấn. Tên các trường phải được phân tách bằng dấu phảy (,) và phải tồn tại trong bảng đang truy vấn. 3. FROM phải là từ khoá tiếp theo trong câu truy vấn, được phân tách với danh sách các trường bằng một dấu cách. 4. <tablename> phải là thành phần tiếp theo trong câu truy vấn, được phân tách với từ khoá FROM bằng một dấu cách. 5. Thành phần cuối cùng trong câu truy vấn là một dấu chấm phảy (;). Ký tự này báo với SQL rằng câu truy vấn đã kết thúc và cần được thực thi. Đây là một ký tự tuỳ chọn, nếu thiếu câu truy vấn vẫn được thực thi. Định dạng của câu lệnh SELECT như sau: SELECT (nội dung gì?) Tên một hoặc nhiều trường. Tên các trường phải được phân tách với nhau bằng dấu phảy (,). Chú ý tên trường cuối cùng không có dấu phảy. FROM (từ đâu?) tên bảng SELECT và FROM là hai từ khoá bắt buộc trong một câu lệnh SELECT. SELECT * FROM <tablename>; Câu lệnh này truy xuất tất cả dữ liệu trong bảng. Để truy xuất tất cả các trường trong bảng ta dùng ký tự sao (*). Bằng cách này ta không phải nhập đầy đủ tên các trường. Câu lệnh SELECT có rất nhiều lựa chọn và định dạng khác nhau. Chúng ta mới chỉ xem qua định dạng đơn giản nhất, các lựa chọn khácnhư sau:  WHERE: Đây là phần tuỳ chọn của câu truy vấn. Nó chỉ ra điều kiện truy vấn. Nếu truy vấn không có mệnh đề WHERE nó sẽ truy xuất tất cả các bản ghi của bảng. Mệnh đề này có thể chứa các điều kiện so sánh. Ví dụ, để hiển thị tên các tác giả (authors) của bang CA ta dùng câu lệnh truy vấn sau:: SELECT au_fname FROM authors WHERE state = ‘CA’;  GROUP BY: Đây cũng là phần tuỳ chọn của câu truy vấn. Nó đươc dùng chỉ khi ta muốn nhóm kết quả truy vấn theo một tiêu chí nào đó. Ví dụ, khi ta muốn hiển thị các tác giả (authors) từ các bang (state) khác nhau được nhóm theo bang (state) ta dùng câu lệnh sau: SELECT state FROM authors GROUP BY state 156 Khái niệm Hệ quản trị CSDLQH và SQL Server 2000  ORDER BY: Đây cũng là phần tuỳ chọn của câu truy vấn dùng để sắp xếp thứ tự các bản ghi được hiển thị bởi câu truy vấn. Ví dụ, nếu chúng ta muốn hiển thị danh sách các tác giả từ bang CA trong bảng authors sắp xếp theo tên (au_fname) chúng ta dùng câu truy vấn sau: SELECT * FROM authors WHERE state='CA' ORDER BY au_fname; Chúng ta đã tìm hiểu các thành phần cơ bản của một câu lệnh SELECT và các thành phần tùy chọn của nó, bây giờ chúng ta sẽ xem xét chi tiết hơn. 10.1.2 Câu lệnh SELECT đơn giản Câu lệnh đơn giản nhất để truy xuất tất cả các trường trong bảng có định dạng như sau: SELECT * FROM Stores; Hình 10.1: Truy xuất tất cả dữ liệu trong bảng Câu lệnh trên hiển thị tất cả các bản ghi và trường từ bảng Stores. Các trường được hiển thị lần lượt theo thứ tự như khi ta tạo bảng. Các bảng dữ liệu thường rất lớn và chứa nhiều bản ghi dữ liệu. Do đó việc hiển thị tất cả các bản ghi của bảng trong câu truy vấn là không cần thiết và thiếu thực tế. Với mệnh đề WHERE ta có thể truy xuất dữ liệu theo điều kiện. Mệnh đề WHERE trong truy vấn đóng vai trò là bộ lọc, hạn chế số bản ghi theo điều kiện định sẵn. Chỉ những bản ghi thỏa mãn điều kiện mới được hiển thị trong kết quả của câu truy vấn. Điều kiện trong mệnh đề WHERE được gọi là mệnh đề điều kiện. Xem ví dụ sau: SELECT * FROM titles WHERE type = ‘business’ Truy vấn dữ liệu 157 Hình 10.2: Truy vấn dữ liệu theo điều kiện Trong câu truy vấn, mệnh đề WHERE được dùng để giới hạn kết quả của câu truy vấn, chỉ hiển thị những bản ghi có trường type là ‘business’. Khi câu lệnh được thực thi, mỗi bản ghi trong bảng sẽ được so sánh với giá trị trong điều kiện. Chỉ các bản ghi có giá trị thỏa mãn điều kiện mới được hiển thị. Cần chú ý rằng trường dữ liệu được dùng trong mệnh đề điều kiện WHERE không nhất thiết phải được hiển thị trong kết quả truy vấn. Cú pháp: SELECT <Tên trường> FROM <Tên bảng> WHERE <Điều kiện> Mệnh đề điều kiện có thể chứa bất kỳ kiểu dữ liệu nào như ký tự, số hay ngày tháng. Các toán tử logic như AND, OR và NOT có thể được dùng kết hợp trong mệnh đề điều kiện. Ví dụ, để truy xuất chi tiết các tác giả (author) sống tại bang (state) CA và thành phố (city) Oakland chúng ta dùng câu lệnh sau: SELECT au_id, au_fname, au_lname FROM authors WHERE state='CA' and city='Oakland' Các toán tử quan hệ cũng có thể được dùng trong mệnh đề điều kiện để xây dựng điều kiện chi tiết hơn. Một mệnh đề điều kiện có thể là sự kết hợp của các loại toán tử như logic và toán tử quan hệ. Bây giờ chúng ta sẽ xem một ví dụ phức tạp hơn, trong ví dụ này ta muốn hiển thị chi tiết các tác giả (author) sống ở bang (state) CA và thành phố (city) Oakland và có ít nhất một hợp đồng (contract), chúng ta dùng câu lệnh sau: SELECT au_id, au_fname, au_lname FROM authors WHERE state='CA' and city='Oakland' and contract>0 158 Khái niệm Hệ quản trị CSDLQH và SQL Server 2000 Hình 10.3: Dùng các toán tử logic và quan hệ trong mệnh đề WHERE Chúng ta thấy rằng các bản ghi trong bảng không được sắp xếp. Nếu chúng ta muốn các bản ghi hiển thị theo thứ tự cụ thể, ta dùng mệnh đề ORDER BY. Mệnh đề ORDER BY sắp xếp kết quả truy vấn. Nó có thể sắp xếp tăng dần (ASC) hay giảm dần (DESC). Mặc định các bản ghi được sắp xếp tăng dần. Câu lệnh SELECT sau sắp xếp dữ liệu trong bảng authors theo trường au_fname. SELECT * from authors ORDER BY au_fname Trong ví dụ dưới đây, nếu ta muốn liệt kê danh sách các cuốn sách có giá lớn hơn 10.00 và sắp xếp theo tiêu đề (title) từ bảng titles, ta dùng truy vấn sau: SELECT title, price from titles WHERE price>10 ORDER BY title Truy vấn dữ liệu 159 Figure 10.4: Ordering data Thứ tự sắp xếp có thể là tăng dần hay giảm dần. Dùng các tham số DESC or ASC ta có thể sắp xếp các bản ghi theo thứ tự yêu cầu. Nếu không có tham số nào trong câu lệnh truy vấn, thứ tự sắp xếp là tăng dần. Trong ví dụ dưới đây mệnh đề ORDER BY được dùng với trường Category_Code. Book_Code Category_Code B0212 ADVENTURE B0555 ADVENTURE B0090 ASTRO B0091 ASTRO B0012 CLASSIC B0656 ROMANCE B0006 SCIENCE B0452 SCIENCE Ta cũng có thể sắp xếp dữ liệu dựa trên nhiều trường. Xem ví dụ sau: 160 Khái niệm Hệ quản trị CSDLQH và SQL Server 2000 Hình 10.5: Sắp xếp theo nhiều trường dữ liệu Ta có thể kết hợp các trường dữ liệu với các hằng số kiểu chuỗi để có kết quả dễ đọc và định dạng hợp lý. Thông thường các hằng số này không tồn tại như một trường dữ liệu trong kết quả truy vấn mà được kết hợp với các trường khác để xây dựng kết quả hiển thị cho truy vấn. Ví dụ, để thêm vào các ký tự ‘:’ và ‘->’ trong kết quả truy vấn dữ liệu từ bảng titles ta tạo truy vấn như sau: Select title_id +':'+ title + ' -> ' + type From titles Mệnh đề AS có thể được dùng để thay đổi tiêu đề của trường dữ liệu hay gán tiêu đề cho trường phát sinh trong kết quả của câu truy vấn. Các trường hiển thị trong kết quả của câu truy vấn thường có tiêu đề là tên trường trong bảng. Để có tiêu đề dễ hiểu hơn ta dùng mệnh đề AS để tùy biến. Ví dụ, để hiển thị tiêu đề “ROLL NUMBER” thay cho trường RollNo trong bảng Students ta dùng câu lệnh SELECT sau: Select RollNo as 'ROLL NUMBER' FROM Students Các câu lệnh SELECT có thể được dùng với các ràng buộc. Ví dụ, ràng buộc IDENTITY có thể được sử dụng trong truy vấn như sau: Truy vấn dữ liệu 161 Chú ý: Khi dùng toán tử + trong danh sách truy vấn, ta cần chú ý đến kiểu dữ liệu của các trường. Các trường là toán hạng của toán tử này phải có cùng kiểu dữ liệu, nếu không SQL Server sẽ báo lỗi. SELECT IDENTITY(datatype, seed, increment) AS ID_Number INTO Table2 FROM Table1 Trong câu truy vấn trên Table1 là bảng có sẵn và Table2 là bảng mà ta muốn tạo ra và đưa các giá trị tự tăng vào. data_type là kiểu dữ liệu của trường tự tăng. Trường này chỉ nhận các kiểu dữ liệu integer hay kiểu dữ liệu decimal. seed là giá trị gán cho bản ghi đầu tiên của bảng. Các bản ghi tiếp theo được gán các giá trị tăng dần, các giá trị này được tính bằng tổng của giá trị IDENTITY cuối cùng cộng với giá trị tăng (increment). Increment là giá trị tăng được cộng thêm cho các bản ghi tiếp theo của bảng dữ liệu. Từ khóa DISTINCT loại bỏ các bản ghi trùng lặp từ truy vấn. Nếu không có từ khóa DISTINCT, truy vấn sẽ trả về tất cả các bản ghi bao gồm cả các bản ghi trùng lặp. Ví dụ, nếu chúng ta truy xuất trường MaterialType trong bảng Material không dùng từ khóa DISTINCT ta sẽ nhận được một danh sách dài các giá trị MaterialTypes trùng lặp. Nêu dùng DISTINCT trong truy vấn SQL Server sẽ chỉ trả về các giá trị MaterialType duy nhất. Câu truy vấn này như sau: SELECT DISTINCT MaterialType FROM Material Mệnh đề TOP được dùng để hạn chế số bản ghi trả về trong kết quả truy vấn. Câu lệnh SELECT này có cú pháp như sau: Cú pháp: SELECT TOP n <tên trường> FROM <tên bảng> Ví dụ: Để hiển thị 3 bản ghi đầu tiên trong bảng Students ta dùng: SELECT TOP 3 * FROM Students Ký tự * trong câu truy vấn truy xuất tất cả các trường. Tương tự như vậy ta có thể truy xuất số bản ghi theo tỷ lệ phần trăm từ bảng dữ liệu. Ví dụ, truy vấn: SELECT TOP 40 PERCENT * FROM Students sẽ truy xuất 40% bản ghi đầu tiên của bảng Students. 10.2 Các hàm tập hợp và truy vấn theo nhóm Truy vấn theo nhóm (group query) có thể được dùng để hiển thị dữ liệu hiệu quả hơn. Truy vấn này thường được dùng khi ta muốn nhóm dữ liệu từ bảng theo một hay nhiều tiêu chí trước khi 162 Khái niệm Hệ quản trị CSDLQH và SQL Server 2000 hiển thị kết quả. Truy vấn này có thể làm việc trên toàn bộ bản ghi của bảng hay trên một số bản ghi thỏa mãn điều kiện được chỉ ra trong mệnh đề WHERE. Các hàm tập hợp (Aggregate Function) được dùng để tạo ra các giá trị duy nhất cho từng nhóm bản ghi, đồng thời tạo giá trị tổng. 10.2.1 Mục đích và ý nghĩa của truy vấn theo nhóm Truy vấn theo nhóm trả về một tập hợp kết quả với mỗi một bản ghi cho từng nhóm dữ liệu, nó chứa các các giá trị tổng hợp của từng nhóm. Truy vấn này thường được dùng khi ta muốn truy xuất dữ liệu lớn, việc nhóm dữ liệu theo một tiêu chí nhất định sẽ hiển thị kết quả hiệu quả hơn. 10.2.3 Các hàm tập hợp Các hàm tập hợp như SUM, AVG, COUNT, MAX, MIN tạo ra các giá trị tổng hợp trong kết quả truy vấn. SQL Server hỗ trợ các hàm tập hợp sau:  SUM Hàm SUM trả về tổng số của tất cả các giá trị của trường dữ liệu trong biểu thức. Ta có thể dùng DISTINCT với SUM để tính tổng cho các giá trị duy nhất của trường dữ liệu trong biểu thức. Các giá trị NULL được bỏ qua. SUM chỉ có thể được dùng với các trường dữ liệu kiểu số (numeric). Cú pháp: SUM(biểu thức) Ví dụ, để tìm tổng số học viên đăng ký cho khóa học có CourseCode là 1 ta dùng hàm SUM trong câu lệnh SELECT như trong hình dưới đây: Hình 10.6: Hàm SUM Các hàm tập hợp còn có ý nghĩa khác khi dùng với mệnh đề GROUP BY. Chúng ta sẽ bàn về mệnh đề GROUP BY trong phần sau.  AVG Hàm AVG trả về giá trị trung bình của tất cả các giá trị của trường dữ liệu được chỉ ra trong biểu thức. AVG chỉ có thể được dùng với các trường số (numeric) và có thể tự loại bỏ các giá trị NULL. Truy vấn dữ liệu 163 Cú pháp: AVG([ALL|DISTINCT]biểu thức) ALL: Là giá trị mặc định, có tác dụng với tất cả các giá trị. DISTINCT: Chỉ ra rằng AVG chỉ làm việc với một giá trị duy nhất của trường được chi ra, bất kể các giá trị này xuất hiện bao nhiêu lần. Biểu thức :Có thể là bất kỳ biểu thức SQL Server nào, thường là tên trường dữ liệu. Ví dụ, để tìm trung bình giá trị các hóa đơn trong bảng Invoice ta dùng truy vấn như trong hình 10.7. Hình 10.7: Hàm AVG  COUNT Hàm COUNT đếm được các giá trị khác NULL trong biểu thức. Nếu dùng với từ khóa DISTINCT, COUNT đếm được các giá trị duy nhất. Hàm COUNT có thể được dùng với các trường số và ký tự. Các trường KHÓA CHÍNH và KHÓA NGOẠI dùng tốt nhất với hàm COUNT vì các trường này không chứa giá trị NULL. Ta cũng có thể dùng ký tự sao (*) thay cho biểu thức trong hàm COUNT. Với cách dùng này ta sẽ đếm tất cả các bản ghi mà không quan tâm đến bất kỳ trường dữ liệu nào. Cú pháp: COUNT(Biểu thức) hay COUNT(*) Ví dụ, để đếm số khóa học trong bảng Course ta dùng: 164 Khái niệm Hệ quản trị CSDLQH và SQL Server 2000 [...]... như sau Hình 10. 13: Dùng INNER JOIN trong truy vấn Truy vấn dữ liệu 171 Tóm tắt bài học  Truy vấn là một câu hỏi được viết bằng Ngôn ngữ truy vấn có cấu trúc (SQL) dùng để truy xuất dữ liệu từ một hay nhiều bảng  Câu lệnh SELECT được dùng để viết các truy vấn truy xuất dữ liệu trong cơ sở dữ liệu  SELECT và FROM là hai từ khóa bắt buộc trong câu lệnh SELECT  Mệnh đề WHERE trong truy vấn đóng vai... quả truy vấn ta dùng cú pháp sau: SELECT * FROM authors WHERE phone IS NOT NULL; Truy vấn trên loại bỏ các bản ghi có giá trị trường phone là trống 10. 4 Truy vấn dữ liệu từ nhiều bảng Đôi khi chúng ta có nhu cầu truy xuất dữ liệu từ nhiều bảng SQL có khả năng liên kết dữ liệu từ nhiều bảng khác nhau SQL cho phép ta truy xuất dữ liệu từ hai hay nhiều bảng thông qua liên kết giữa các bảng đó Do dữ liệu. .. trị hóa đơn nhỏ nhất trong bảng Invoice ta dùng truy vấn như trong hình 10. 10: Truy vấn dữ liệu 165 Hình 10. 10: Hàm MIN 10. 2.3 Mệnh đề GROUP BY Mệnh đề GROUP BY nhóm các bản ghi dựa trên một hoặc nhiều trường dữ liệu Mệnh đề này trả về một bản ghi chứa giá trị tổng hợp của mỗi tập dữ liệu Mệnh đề GROUP BY chia bảng dữ liệu thanh một hay nhiều tập dữ liệu nhỏ có cùng chung giá trị hay biểu thức Nếu... lệnh SELECT  Các truy vấn không rõ ràng cho phép chúng ta xác định được những dữ liệu không rõ ràng  SQL cho phép truy vấn dữ liệu từ hai hay nhiều bảng bằng cách liên kết (join) các bảng dữ liệu Do dữ liệu được truy xuất từ nhiều bảng nên truy vấn này được gọi là truy vấn nhiều bảng  Liên kết được dùng để truy xuất dữ liệu từ hai hay nhiều bảng dựa trên mối quan hệ logic giữa các bảng 172 Khái niệm... WHERE 10. 3 GROUP BY HAVING Các ký tự đại diện trong SQL Server và truy vấn indistinct Trong phần này chúng ta sẽ tìm hiểu về các ký tự đại diện trong SQL Server và truy vấn indistinct 10. 3.1 Mục đích và ý nghĩa của các truy vấn indistinct Các truy vấn indistinct truy xuất các bản ghi theo một mẫu nào đó Nếu trong truy vấn ta dùng điều kiện tổng quát thay điều kiện chi tiết ta được truy vấn indistinct 10. 3.2... nằm trong dánh sách truy vấn Truy vấn dữ liệu 167 Mệnh đề HAVING và WHERE có thể được dùng trong cùng một câu lệnh SELECT Để có thể tạo ra các truy vấn dữ liệu hiệu quả ta cần nắm vững thứ tự các mệnh đề WHERE, GROUP BY, và HAVING trong câu lệnh SELECT:  Mệnh đề WHERE được dùng để lọc các bản ghi truy xuất từ bảng dữ liệu trong mệnh đề FROM  Mệnh đề GROUP BY được dùng để nhóm dữ liệu là kết quả của... giữa các bảng đó Do dữ liệu được truy xuất từ nhiều bảng nên truy vấn được gọi là truy vấn nhiều bảng Truy vấn dữ liệu 169 Các liên kết được dùng để truy xuất dữ liệu từ nhiều bảng dựa trên mối quan hệ logic giữa các bảng đó Liên kết thường chỉ ra mối quan hệ khóa phụ giữa các bảng Nó quy định cách thức các bảng có thể liên kết với nhau bằng cách:  Chỉ ra trường dữ liệu các bảng dùng để liên kết Một... quả truy vấn  Ta có thể sắp xếp dữ liệu tăng dần hay giảm dần bằng tham số ASC hay DESC  Mệnh đề AS có thể được dùng để thay đổi tên của trường kết quả hay gán tên cho trường phái sinh  Từ khóa DISTINCT loại bỏ các bản ghi trùng lặp trong kết quả truy vấn của câu lệnh SELECT  Mệnh đề TOP hạn chế số bản ghi trong kết quả truy vấn  Truy vấn nhóm trả về một tập hợp là một bản ghi cho mỗi tập dữ liệu. .. thay thế trong truy vấn có thể được sử dụng để chỉ bảng dữ liệu, lúc đó ta không cần dùng tên đầy đủ của bảng dữ liệu Giả sử ta muốn liệt kê thông tin chi tiết học viên như StudentName, RollNo và CourseCode, hiển thị cùng với the CourseName Nếu ta xem trong bảng ta sẽ thấy dữ liệu cần truy xuất nằm ở hai bảng khác nhau là Students và Course Nói cách khác, nếu chúng ta muốn truy xuất dữ liệu từ hai bảng... hợp trong câu lệnh SELECT 8 _ query là truy vấn trả về một tập hợp kết quả với mỗi một bản ghi cho từng nhóm dữ liệu chứa các các giá trị tổng hợp của từng nhóm 9 Mệnh đề đặt điều kiện cho mệnh đề GROUP BY giống như mệnh đề WHERE với SELECT 10 được dùng để truy xuất dữ liệu từ hai hay nhiều bảng dựa trên mối quan hệ giữa các bảng Truy vấn dữ liệu 173 Trang này được chủ ý để trống 174 . Bài 10 Truy vấn dữ liệu Mục đích bài học: Cuối bài học viên có thể:  Nắm vững cách truy vấn dữ liệu bằng các truy vấn T-SQL đơn giản.  Dùng các truy vấn T-SQL để truy xuất dữ liệu theo. sau. Hình 10. 13: Dùng INNER JOIN trong truy vấn Truy vấn dữ liệu 171 Tóm tắt bài học  Truy vấn là một câu hỏi được viết bằng Ngôn ngữ truy vấn có cấu trúc (SQL) dùng để truy xuất dữ liệu từ một. giữa các bảng đó. Do dữ liệu được truy xuất từ nhiều bảng nên truy vấn được gọi là truy vấn nhiều bảng. Truy vấn dữ liệu 169 Các liên kết được dùng để truy xuất dữ liệu từ nhiều bảng dựa trên

Ngày đăng: 21/07/2014, 23:21

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan