Các khái niệm về hệ quản trị csdl



tải về 1.1 Mb.
trang11/15
Chuyển đổi dữ liệu17.08.2016
Kích1.1 Mb.
#20914
1   ...   7   8   9   10   11   12   13   14   15




Hình 8.6: Các thuộc tính CustomerDB

Phần II – 30 phút

  1. Tạo một CSDL tên là SalesDB bằng cách sử dụng mẫu SQL Server Management Studio. Các yêu cầu để tạo CSDL như bảng 8.2



Bảng 8.2: Các thuộc tính CSDL

Gợi ý :


    • Chọn View  Template Explorer từ thực đơn để hoạt động Template Explorer. Chọn tùy chọn tạo CSDL từ thư mục Database.

    • Thay thế tất cả với tên CSDL mới.

  1. Tạo user ‘sa’ cho người sở hữu cơ sỡ dữ liệu SalesDB.

BÀI TẬP TỰ LÀM

  1. Tạo một CSDL tên là UnitedAir sử dụng các câu lệnh Transact – SQL với những thuộc tính sau:

    • Filegroup chính: UnitedAir1_data và UnitedAir2_dat. Kích cỡ, kích cỡ lớn nhất và sự phát triển của các tập tin lần lượt là 5, 10, và 15%.

    • Một filegroup đặt tên là UnitedAirGroup1 với các tập tin UnitedAirGrp1F1, UnitedGrp1F2

    • Một filegroup đặt tên là UnitedAirGroup2 với các tập tin UnitedAirGrp2F1, UnitedAirGrp2F2

  2. Tạo một CSDL snapshot cho CSDL UnitedAir.

CHƯƠNG 9 -TRUY XUẤT DỮ LIỆU TỪ CƠ SỞ DỮ LIỆU

Mục tiêu :


Kết thúc chương này, các bạn sẽ có thể:

  • Mô tả lệnh SELECT, cú pháp và cách sử dụng nó

  • Giải thích cách sử dụng biểu thức với lệnh SELECT

  • Giải thích các mệnh đề khác nhau được sử dụng với SELECT

  • Giải thích rõ mệnh đề ORDER BY



    1. Giới thiệu

Kiến thức về ngôn ngữ T-SQL là quan trọng để tương tác dữ liệu trong CSDL. Với sự trợ giúp của T-SQL, dữ liệu có thể được truy vấn, thêm mới, cập nhật và xóa. Trong chương này, lệnh SELECT được giới thiệu để truy xuất dữ liệu từ CSDL.

Lệnh SELECT được xây dựng để truy xuất dữ liệu từ một hoặc nhiều bảng. Lệnh SELECT có nhiều mệnh đề khác nhau nhằm xác định cách truy xuất dữ liệu.



    1. Sự cần thiết của truy xuất dữ liệu

Kiến thức về tạo CSDL và nhập dữ liệu vào cho nó sẽ vô tác dụng nếu không có khả năng truy xuất dữ liệu. Dữ liệu được truy xuất không những giúp ích cho việc đọc mà còn cho việc sửa đổi như SELECT và DELETE. Để làm được điều đó bạn phải hiểu được lệnh SELECT và các mệnh đề của nó.

    1. Câu lệnh SELECT

Dữ liệu của một bảng có thể được xem bằng cách sử dụng lệnh SELECT. Sử dụng lệnh SELECT trong một câu truy vấn sẽ hiển thị thông tin cần thiết của một bảng.

Lệnh SELECT truy xuất các dòng và các cột của một hoặc nhiều bảng. Đầu ra của lệnh SELECT là một bảng khác gọi là tập kết quả (result set). Lệnh SELECT cũng có thể kết nối hai bảng hoặc truy xuất một tập con các cột từ một hoặc nhiều bảng. Lệnh này định nghĩa các cột sử dụng cho một câu truy vấn. Cú pháp của lệnh SELECT có thể bao gồm nhiều các biểu thức và được phân cách bởi dấu phẩy. Mỗi biểu thức trong câu lệnh là một cột trong tập kết quả. Các cột xuất hiện tuần tự theo thứ tự của các biểu thức trong câu lệnh SELECT.

Cú pháp:

SELECT FROM

Với,

là bảng mà dữ liệu sẽ được hiển thị

là các cột được hiển thị

Chú ý:

  1. Tất cả các lệnh trong SQL Server 2005 không kết thúc với dấu chấm phẩy

  2. CSDL phải được mở trước khi sử dụng các lệnh SELECT


      1. SELECT không có FROM

Nhiều ngôn ngữ SQL sử dụng mệnh đề FROM trong câu truy vấn. Nhưng SQL Server 2005 cho phép sử dụng lệnh truy vấn không có FROM. Ví dụ 1 cho thấy cách dùng của câu lệnh SELECT không có mệnh đề FROM.

Ví dụ 1:

SELECT LEFT(‘International’,5)

Câu truy vấn trên sẽ hiển thị chỉ năm ký tự đầu tiên ở phía bên trái của từ ‘International’.

Kết quả như hình 9.1





      1. Hiển thị tất cả các cột

Dấu * được sử dụng trong câu lệnh SELECT để truy xuất tất cả các cột của bảng. Nó được sử dụng để liệt kê tất cả các tên cột trong các bảng được chỉ ra sau mệnh đề FROM.

Cú pháp:


SELECT * FROM

Với,

* thay thế cho tất cả các cột của bảng có tên trong mệnh đề FROM



là tên của bảng mà thông tin được truy xuất. Có thể có nhiều bảng trong mệnh đề FROM. Khi hai hay nhiều bảng được sử dụng thì các hàng dữ liệu của mỗi bảng được ánh xạ với các hàng của các bảng khác. Việc này sẽ tốn rất nhiều thời gian nếu dữ liệu trong các bảng lớn. Do vậy nên sử dụng cú pháp này với một điều kiện. Ví dụ 2 chỉ rõ cách dùng của ‘*’ trong câu lệnh SELECT.

Ví dụ 2

SELECT * FROM Sales.Individual

      1. Chỉ ra các cột cần chọn

Câu lệnh SELECT hiển thị hoặc trả về các cột tương ứng mà người dùng đã chọn trong câu lệnh. Để hiển thị các cột cụ thể thì bạn phải biết tên của các cột trong bảng đó.

Cú pháp:

SELECT ,… FROM

Với,

,… là các cột cần hiển thị

Ví dụ, để hiển thị tỉ giá ở các vùng khác nhau từ bảng Product.Location của CSDL AdventureWorks. Câu lệnh SELECT sẽ như trong ví dụ 3.



Ví dụ 3:

SELECT LocationID, CostRate FROM Product.Location

    1. Sử dụng biểu thức trong câu lệnh SELECT

Lệnh SELECT cho phép người dùng chỉ ra các biểu thức khác nhau nhằm để hiển thị tập kết quả trong một trật tự mong đợi. Các biểu thức này gán các tên khác nhau cho các cột trong tập kết quả, tính các giá trị và loại bỏ các giá trị trùng nhau. Chúng sẽ được giải thích rõ trong các phần tiếp theo dưới đây.

      1. Sử dụng hằng trong tập kết quả

Các hằng chuỗi ký tự được sử dụng khi các cột được kết nối. Nó giúp ích trong việc định dạng và đọc. Những hằng này không được chỉ định cho từng cột riêng lẻ trong tập kết quả.

Đưa các giá trị hằng vào trong kết quả để hiển thị, thông thường sẽ hiệu quả hơn cho một ứng dụng. Ví dụ, để đưa dấu “;” và “->” vào tập kết quả để hiển thị tên quốc gia, mã vùng và nhóm tương ứng của nó, câu lệnh SELECT sẽ như trong ví dụ 4.



Ví dụ 4:

SELECT [Name] + ‘ : ‘ + CountryRegionCode + ‘ --> ‘ + [Group] FROM Sales.SalesTerritory

      1. Đổi tên các cột trong tập kết quả

Khi các cột được hiển thị trong tập kết quả thì nó sẽ có tên tiêu đề tương ứng với tên cột trong bảng. Các tên tiêu đề này có thể được thay đổi hoặc được gán cho một cái tên mới bằng cách sử dụng mệnh đề AS. Do đó việc thay đổi tên tiêu đề sẽ làm cho tập kết quả nhìn dễ hiêu hơn và có ý nghĩa hơn.

Ví dụ, để hiển thị ‘ChangedDate’ thay cho tên tiêu đề cột ‘ModifiedDate’ trong bảng Sales.Individual, câu lệnh SELECT sẽ như trong ví dụ 5.



Ví dụ 5:

SELECT ModifiedDate as ‘Changed Date’ FROM Sales.Individual

      1. Trả về giá trị tính toán trong tập kết quả

Một câu lệnh SELECT có thể chứa các biểu thức số học bằng cách áp dụng các phép toán cho một hoặc nhiều cột. Điều này cho phép tập kết quả chứa các giá trị mà không có trong bảng, nhưng là kết quả tính toán dựa trên giá trị lưu trữ trong bảng.

Ví dụ, xét bảng Production.ProductCostHistory của CSDL AdventureWorks. Giả sử cần giảm giá 15% so với giá ban đầu của tẩt cả các sản phẩm. Trường giảm giá không tồn tại trong bảng CSDL nhưng nó có thể được tính bằng cách thực thi câu lệnh SELECT như trong ví dụ 6.



Ví dụ 6:

SELECT ProductID, StandardCost, StadardCost*0.15 as Discount

FROM Production.ProductCostHistory



      1. Sử dụng DISTINCT

Từ khóa DISTINCT dùng để ngăn chặn việc truy xuất các bản ghi trùng nhau. Nó không trả về các hàng bị lặp lại trong tập kết quả của lệnh SELECT. Ví dụ, nếu cột ‘StandardCost’ được liệt kê mà không sử dụng từ khóa DISTINCT thì nó sẽ hiển thị tất cả các giá trị của trường StandardCost trong bảng dữ liệu. Khi sử dụng từ khóa DISTINCT trong câu truy vấn, SQL server sẽ hiển thị mỗi bản ghi của StandardCost chỉ một lần.

Ví dụ 7:

SELECT DISTINCT StandardCost FROM Product.ProductCostHistory

      1. Sử dụng TOP và PERCENT

Từ khóa TOP sẽ hiển thị một tập vài hàng đầu tiên. Tập các hàng này hoặc bị giới hạn bởi một con số hoặc phần trăm của các hàng. Biểu thức TOP có thể được sử dụng với các câu lệnh khác như INSERT, UPDATE và DELETE.

Cú pháp:

SELECT [ALL | DISTINCT] [TOP expression [PERCENT] [WITH TIES] ]

Với,

expression là số hàng hoặc số phần trăm các hàng trong bảng để trả về cho tập kết quả.

PERCENT trả về số các dòng bị giới hạn bởi tỉ số phần trăm.

WITH TIES Nếu bản ghi cuối trong TOP n có cùng giá trị, thì kết quả bản ghi đó cũng được trả về.



    1. Các mệnh đề khác với SELECT

Câu lệnh SELECT có một số mệnh đề khác kết hợp với nó. Trong phần này, mỗi mệnh đề sẽ được thảo luận chi tiết.

      1. SELECT với INTO

Mệnh đề INTO tạo mới một bảng và chèn các hàng và các cột được liệt kê trong câu lệnh SELECT vào bảng mới đó. Mệnh đề INTO cũng có thể chèn các dòng có sẵn vào một bảng mới. Để thực thi mệnh đề này với câu lệnh SELECT người dùng phải có quyền tạo bảng trong CSDL.

Cú pháp:

SELECT [INTO bảng_mới]

FROM danh_sách_bảng



Với,

bảng_mới là tên của bảng mới sẽ được tạo ra

Ví dụ 8 sử dụng mệnh đề INTO để tạo bảng mới ‘Production.ProductName’ với chi tiết gồm cột ID của sản phẩm và tên của sản phẩm từ bảng Production.ProductModel.

Ví dụ 8:

SELECT ProductModelID, [Name] INTO Production.ProductName

FROM Production.ProductModel



Câu lệnh truy vấn được hiển thị như hình 9.2



Hình 9.2: SELECT với INTO clause

Kết quả được hiển thị như hình 9.3.





Hình 9.3: Bảng mới được tạo

      1. SELECT với FROM

Mệnh đề FROM với câu lệnh SELECT được sử dụng để chỉ ra bảng hoặc View mà từ đó các bản ghi được truy xuất. Mệnh đề FROM cũng có thể được sử dụng như một bí danh để tham chiếu đến bảng. Mệnh đề này được sử dụng khi danh sách lựa chọn không chứa các ràng buộc, các biến và các biểu thức toán học.

Lưu ý: View là một bảng ảo được tạo như một tập con của các cột hoặc các hàng từ một hay nhiều bảng.

Cú pháp:

SELECT FROM [[AS] alias]

Với,

xác định một bảng, view hoặc một dẫn xuất của bảng nguồn.

Alias là tên thay thế cho tên bảng nguồn.

Ví dụ 9 sử dụng một mệnh đề FROM trả về tất cả các bản ghi trong bảng Production.Illustration.

Ví dụ 9:


SELECT * FROM Production.Illustration


      1. SELECT với WHERE

Mệnh đề WHERE với câu lệnh SELECT được sử dụng để lựa chọn có điều kiện hay giới hạn các bản ghi được truy xuất bởi câu truy vấn. Một mệnh đề WHERE xác chỉ ra biểu thức luận lý để kiểm tra các hàng trả về bởi câu truy vấn. Kết quả được trả về nếu biểu thức là đúng và bị bỏ qua nếu là sai.

Cú pháp:


SELECT FROM WHERE <điều_kiện>

Với,

Điều_kiện là điều kiện để trả về các hàng.

Bảng 9.1 chỉ các toán tử khác nhau được sử dụng với mệnh đề WHERE.


Toán tử

Giải thích

=

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

!

Không (phủ định)

BETWEEN

Giữa một khoảng

LIKE

Tìm với các ký tự đại diện

IN

Bên trong một khoảng

Bảng 9.1: Các toán tử

Ví dụ 10:

SELECT * FROM Production.ProductCostHistory

WHERE EndDate = ‘6/30/2003 12:00:00 AM’



Ví dụ 10 sẽ trả về tất cả các bản ghi từ bảng Production.ProductCostHistory với ngày kết thúc là 6/30/2003 12:00:00 AM. Kết quả như hình 9.4.



Hình 9.4: SELECT với mệnh đề WHERE

Tất cả các truy vấn trong SQL sử dụng dấu nháy đơn để bao đóng các giá văn bản. Ví dụ, xem xét câu truy vấn dưới đây truy xuất tất cả các bản ghi từ bảng Person.Address với thành phố là Bothell.

Ví dụ 11:

SELECT * FROM Person.Address WHERE CITY = ‘Bothell’

Kết quả của câu truy vấn như hình 9.5.



Hình 9.5: Truy vấn với dấu nháy đơn

Các giá trị số không cần bao đóng với bất kỳ ký hiệu nào như trong ví dụ 12.



Ví dụ 12:

SELECT * FROM HumanResources.Department

WHERE DepartmentID < 10



Câu truy vấn ở ví dụ 12 sẽ hiển thị tất cả các bản ghi với giá trị của DepartmentID nhỏ hơn 10.

Mệnh đề WHERE cũng có thể được sử dụng với các ký tự đại diện ở bảng 9.2. Tất cả các ký tự đại diện này được sử dụng kết hợp với từ khóa LIKE để làm cho câu truy vấn chính xác và rõ ràng.



Ký tự

Giải thích

Ví dụ

_

Đại diện cho một ký tự

SELECT * FROM Person.Contact WHERE Suffix LIKE ‘Jr_’

%

Đại diện cho bất kỳ ký tự nào

SELECT * FROM Person.Contact WHERE LastName LIKE ‘B%’

[ ]

Đại diện cho một ký tự đơn bên trong một khoảng ở cặp ngoặc

SELECT * FROM Sales.CurrencyRate WHERE ToCurrencyCode LIKE ‘A[AN][DY]’

[^]

Đại diện cho bất kỳ ký tự đơn nào không có trong khoảng của cặp ngoặc đơn

SELECT * FROM Sales.CurrencyRate WHERE ToCurrencyCode LIKE ‘A[^R][^S]’

Bảng 9.2: Các ký tự đại diện

Mệnh đề WHERE cũng dùng các phép toán logic như AND, OR và NOT. Các phép toán này được dùng để xét các điều kiện trong mệnh đề WHERE.

Phép AND kết hợp hai hoặc nhiều điều kiện và trả về đúng (TRUE) chỉ khi tất cả các điều kiện là đúng. Do đó nó trả về tất cả các dòng từ các bảng khi tất cả các điều kiện đã chỉ ra là đúng.

Ví dụ 13:

SELECT * FROM Sales.CustomerAddress

WHERE AddressID > 900 AND AddressTypeID = 5



Phép OR trả về TRUE và hiển thị tất cả các dòng nếu thỏa mãn một trong các điều kiện bất kỳ. Câu truy vấn trong ví dụ 14 sẽ hiển thị tất cả các dòng nếu ‘AddressID’ nhỏ hơn 900 hoặc AddressTypeID bằng 5.

Ví dụ 14:

SELECT * FROM Sales.CustomerAddress

WHERE AddressID < 900 OR AddressTypeID = 5



Phép NOT phủ định điều kiện tìm kiếm. Ví dụ 15 sẽ hiển thị tất cả các bản ghi với ‘AddressTypeID’ không bằng 5.

SELECT * FROM Sales.CustomerAddress

WHERE NOT AddressTypeID = 5



Có thể sử dụng nhiều phép toán luận lý trong cùng một câu lệnh SELECT. Khi nhiều phép toán luận lý được sử dụng, NOT được tính trước, kế tiếp AND và cuối cùng là OR


    1. Mệnh đề GROUP BY

Mệnh đề GROUP BY chia tập kết quả thành một hoặc nhiều tập con. Mỗi tập con có các giá trị và các biểu thức chung.

Sau mệnh đề GROUP là danh sách các cột, các cột này được gọi là cột nhóm. Mỗi nhóm sẽ giới hạn số bản ghi trả về của tập kết quả. Với mỗi nhóm chỉ có một hàng kết quả.



Cú pháp:

SELECT

FROM GROUP BY



Với,

tên_cột là tên của cột mà tập kết quả sẽ nhóm theo cột này

Ví dụ, giả sử nếu tổng số các giờ công phải được tìm thấy cho mỗi công việc, câu truy vấn trong ví dụ 16 sẽ truy xuất tập kết quả.

Ví dụ 16:

SELECT WorkOrderID, Sum(ActualResourceHrs)

FROM Production.WorkOrderRouting GROUP BY WorkOrderID



Kết quả như hình 9.6.



Hình 9.6: Mệnh đề Group By

Mệnh đề GROUP BY có thể được sử dụng chung với các mệnh đề khác. Cụ thể như sau:



  • GROUP BY với WHERE

Mệnh đề WHERE cũng có thể được dùng với GROUP BY để hạn chế các dòng cho việc nhóm gộp (group). Các dòng thỏa điều kiện tìm kiếm mới được nhóm gộp. Các dòng không thỏa điều kiện thì sẽ bị loại trừ trước khi nó được nhóm.

Ví dụ 17:



Select [Group], SUM(SalesYTD) AS ‘TotalSales’

FROM Sales.SalesTerritory

WHERE [Group] LIKE ‘N%’

OR [Group] LIKE ‘E%’ GROUP BY [Group]



Ví dụ 17 truy xuất, tính và hiển thị tổng số hàng bán cho mỗi nhóm. Kết quả như hình 9.7. Tên cột ‘Group’ đặt trong cặp ngoặc vuông để phân biệt với từ khóa.



Hình 9.7 GROUP BY với WHERE

  • GROUP BY với NULL

Nếu cột cần nhóm có chứa giá trị NULL thì dòng này sẽ được nhóm riêng biệt trong tập kết quả. Nếu cột cần nhóm có chứa hơn một giá trị NULL thì các giá trị NULL được đặt chung vào một dòng đơn.

Xem ví dụ 18, hiển thị danh sách giá trung bình cho mỗi ‘Class’.



Ví dụ 18:

SELECT Class, AVG (ListPrice) AS ‘AverageListPrice’

FROM Production.Product GROUP BY Class.



  • GROUP BY với ALL

Chúng ta có thể sử dụng từ khóa ALL trong mệnh đề GROUP BY. ALL chỉ có ý nghĩa khi SELECT có mệnh đề WHERE. Khi ALL được sử dụng, nó gộp tất cả các nhóm mà GROUP BY sinh ra. Thậm chí nó gộp luôn những nhóm mà không thỏa điều kiện tìm kiếm.

Cú pháp:

SELECT FROM

WHERE <điều_kiện> GROUP BY ALL



Ví dụ 19:

SELECT [Group], SUM(SalesYTD) AS ‘TotalSales’

FROM Sales.SalesTerritory

WHERE [Group] LIKE ‘N%’

OR [Group] LIKE ‘E%’ GROUP BY ALL [Group]



Khác với các dòng hiển thị trong ví dụ 17, nó cũng sẽ hiển thị nhóm ‘Pacific’ với giá trị null như hình 9.8.



Hình 9.8: GROUP BY với ALL

  • GROUP BY với HAVING

Mệnh đề HAVING được sử dụng với câu lệnh SELECT để chỉ ra điều kiện tìm kiếm cho một nhóm. Mệnh đề HAVING sử dụng như mệnh đề WHERE khi mệnh đề WHERE không thể sử dụng với các hàm tập hợp.

Cú pháp:


SELECT FROM

GROUP BY HAVING





Ví dụ 20:

SELECT [Group], SUM(SalesYTD) AS ‘TotalSales’

FROM Sales.SalesTerritory

GROUP BY [Group] HAVING SUM(SalesYTD) < 6000000


Câu truy vấn ở ví dụ trên sẽ hiển thị dòng có nhóm ‘Pacific’ vì nó có tổng số bán nhỏ hơn 6.000.000.



Hình 9.9 GROUP BY với HAVING


  • Thống kê dữ liệu

Mệnh đề GROUP BY cũng sử dụng các phép toán như CUBE và ROLLUP để trả về dữ liệu thống kê. Số các cột trong mệnh đề GROUP BY xác định số hàng thống kê trong tập kết quả.

    • CUBE: Không giống với mệnh đề GROUP BY chỉ trả về thông tin thống kê, mỗi nhóm chỉ có một bản ghi duy nhất. Với CUBE, kết hợp với mệnh đề GROUP BY để vừa trả về thông tin chi tiết và thông tin thống kê. Ngoài ra, CUBE sẽ nhóm cho tất các trường được chỉ ra trong danh sách ngoại trừ trường chứa dữ liệu thống kê.

Cú pháp:

SELECT FROM

GROUP BY WITH CUBE



Ví dụ 21:

SELECT [Name],CountryRegionCode,SUM(SalesYTD) AS TotalSales

FROM Sales.SalesTerritory

WHERE [Name] <> ‘Australia’ AND [Name] <> ‘Canada’

GROUP BY [Name], CountryRegionCode WITH CUBE



Khi chạy ví dụ 21 nó sẽ cho tổng số hàng bán của mỗi quốc gia và tổng số hàng bán của tất cả các miền của các quốc gia đó. Kết quả như hình 9.10.



Hình 9.10: GROUP với CUBE

    • ROLLUP: Tương tự như phép toán CUBE, ROLLUP sinh tập kết quả hiển thị các nhóm được sắp xếp theo một trật tự phân cấp. Nó sắp xếp các nhóm theo trật tự từ thấp đến cao. Trật tự nhóm trong kết quả phụ thuộc vào trật tự của các cột được nhóm đã chỉ định.

Cú pháp:

SELECT FROM

GROUP BY WITH ROLLUP



Ví dụ 22:

SELECT [Name], SUM(SalesYTD) AS TotalSales

FROM Sales.SalesTerritory GROUP BY [Name] WITH ROLLUP



Kết quả như hình 9.11



Hình 9.11: GROUP BY với ROLLUP

Như đã thấy ở hình 9.11, tập kết quả gồm có tổng số hàng bán cho tất cả các quốc gia ngoài số hàng cho từng quốc gia riêng biệt.



    1. Mệnh đề ORDER BY

Nó xác định trật tự mà các cột sẽ được sắp xếp trong tập kết quả. Nó sắp xếp các kết quả truy vấn theo một hoặc nhiều cột, lên đến 8060 bytes. Một sắp xếp có thể là tăng dần (ASC) hay giảm dần (DESC). Mặc định thì các bản ghi được sắp xếp tăng dần. Để chuyển sang chế độ sắp xếp giảm dần, sử dụng từ khóa DESC. Khi nhiều trường được sử dụng thì SQL server sẽ ưu tiên sắp xếp các trường từ trái sang phải.

Cú pháp:


SELECT FROM

ORDER BY {ASC | DESC}



Câu lệnh SELECT trong ví dụ 23 sắp xết các kết quả truy vấn theo cột ‘SalesLastYear’ của bảng ‘Sales.SalesTerritory’.

Ví dụ 23:



SELECT * FROM Sales.SalesTerritory ORDER BY SalesLastYear

Kết quả như hình 9.12.



Hình 9.12: Mệnh đề ORDER BY

TÓM TẮT BÀI HỌC

  • Đầu ra của câu lệnh SELECT được gọi là một tập kết quả.

  • Câu lệnh SELECT định nghĩa các cột được sử dụng trong câu truy vấn.

  • Dấu sao (*) được sử dụng để hiển thị tất cả các cột trong bảng.

  • Mệnh đề AS giúp đổi tên một cột trong tập kết quả.

  • Môt điều kiện Boolean được sử dụng bởi mệnh đề WHERE để kiểm tra điều kiện của các dòng.

  • Các phép toán như CUBE và ROLLUP được sử dụng với mệnh đề GROUP BY để tổng kết dữ liệu.

  • Mệnh đề ORDER BY xác định trật tự mà các cột sẽ được sắp xếp trong tập kết quả.

Каталог: files
files -> Sạt-đe rằng: Nầy là lời phán của Đấng có bảy vì thần Đức Chúa Trời và bảy ngôi sao
files -> HƯỚng dẫn càI ĐẶt và SỬ DỤng phần mềm tạo bài giảng e-learning
files -> VIỆn chăn nuôi trịnh hồng sơn khả NĂng sản xuất và giá trị giống của dòng lợN ĐỰc vcn03 luậN Án tiến sĩ NÔng nghiệp hà NỘI 2014
files -> ĐẠi học quốc gia hà NỘi trưỜng đẠi học khoa học tự nhiên nguyễn Thị Hương XÂy dựng quy trình quản lý CÁc công trìNH
files -> PHỤ LỤC 2 TỔng hợp danh mục tài liệu tham khảO
files -> BÁo cáo quy hoạch vùng sản xuất vải an toàn tỉnh bắc giang đẾn năM 2020 (Thuộc dự án nâng cao chất lượng, an toàn sản phẩm nông nghiệp và phát triển chương trình khí sinh học ) Cơ quan chủ trì
files -> BỘ TÀi nguyên và MÔi trưỜng
files -> 1. Mục tiêu đào tạo: Mục tiêu chung

tải về 1.1 Mb.

Chia sẻ với bạn bè của bạn:
1   ...   7   8   9   10   11   12   13   14   15




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương