Từ khóa TOP n Từ khóa TOP n : Lấy ra n mẫu tin đầu tiên + + WITH TIES WITH TIES các mẫu tin ngang bằng giá trị trong cột trong cột ORDER BY ORDER BY được liệt kê.. vd: Select Top
Trang 1TRUY XUẤT CƠ SỞ DỮ LIỆU
CỦA SQL SERVER
TRUY XUẤT CƠ SỞ DỮ LIỆU
CỦA SQL SERVER
7
Trang 21 Câu lệnh SELECT
SELECT [ALL | DICTINCT] [TOP [ALL | DICTINCT] [ TOP n [WITH TIES n [ WITH TIES ] ]
<select_list>
[
[INTO INTO new_table]
FROM table_source [AS table_source [ AS newname]
[
[WHERE WHERE search_condition]
[
[GROUP BY GROUP BY goup_by_expression]
[
[HAVING HAVING search_condition]
[
[ORDER BY ORDER BY order_expression [ASC order_expression [ ASC | DESC | DESC ] ]
[
[COMPUTE COMPUTE | COMPUTEBY | COMPUTEBY expression]
Trang 3 Từ khóa DISTINCT DISTINCT : Loại bỏ các mẫu tin trùng
trong tập kết quả.
Từ khóa TOP n Từ khóa TOP n : Lấy ra n mẫu tin đầu tiên
+
+ WITH TIES WITH TIES các mẫu tin ngang bằng giá trị
trong cột
trong cột ORDER BY ORDER BY được liệt kê.
vd:
Select Top 5 With Ties 5 With Ties orderid, productid, quantity From [Order Details]
Order By quantity DESC
Trang 4Từ khóa AS : Đặt bí danh cho bảng, cột
Select p.Productname as p.Productname as Name
From Products as Products as p
Mệnh đề SELECT INTO SELECT INTO : Sinh thêm một bảng
mới mà dữ liệu được lấy từ các bảng khác.
Select FirstName, Lastname
Into EmployeeNames
From Employees
Dùng với các hàm : Sum, Max, Min, Avg, Count
Select Sum (quantity)
From [Order details]
Trang 5 Mệnh đề WHERER Mệnh đề WHERER , GROUP BY , GROUP BY , và HAVING , và HAVING :
Where và Having dùng để lọc dữ liệu trong câu
Select với nhằm thỏa điều kiện
Các phép toán có thể dùng cho Where:
> , >= , < , <= , =, <> , ! =
NOT, AND, OR
LIKE, BETWEEN … AND
IS NULL, NOT IS NULL
Lưu ý: Having Having để giới hạn kết quả do Group By để giới hạn kết quả do Group By
sản sinh ở các hàm và chỉ dùng với
sản sinh ở các hàm và chỉ dùng với Group By; Whewe giới hạn kết quả trước khi Group By giới hạn kết quả trước khi Group By
Trang 6ROLLUP sẽ chèn thêm các dòng Total nằm trước các nhóm mẫu tin được phân theo
trước các nhóm mẫu tin được phân theo GROUP GROUP
BY
Ví dụ:
Select ProductID, OrderID, Sum (Quantity) as
Total_quantity
From [Order details]
Where OrderID < 10250
Group By OrderID, ProductID With Rollup OrderID, ProductID With Rollup
Order By OrderID, ProductID
Trang 7 Sử dụng Group By với toán tử WITH CUBE:
CUBE thêm các dòng Total của mỗi sự kết hợp
có thể có giữa các cột
Ví dụ:
Select ProductID, OrderID, Sum (Quantity) as
Total_quantity
From [Order details]
Where OrderID < 10250
Group By OrderID, ProductID With Cube OrderID, ProductID With Cube
Order By OrderID, ProductID
Trang 8thường dùng để kiểm tra số liệu, dùng kèm với các hàm thống kê SUM, AVG, MAX, MIN…
Vd1:
Select productID, orderid, quantity
From [Order Details]
Order By productID, OrderId
Compute Sum (quantity)
Vd2:
Select productID, orderid, quantity
From [Order Details]
Order By productID, OrderId
Compute Sum (quantity) By (quantity) By productid
Compute Sum Sum (quantity)
Ghi chú Khi dùng toán tử Compute
thì khi Select buộc phải có Order By
Trang 92 Dùng JOIN: sử dụng JOIN để select data
từ nhiều table dựa trên mối quan hệ logic giữa các table (logical relationships) Có thể tóm tắt các loại Join thông dụng bằng các hình sau:
Inner Join Inner Join Left Left Outer Join Outer Join Right Right Outer Join Full Outer Join Outer Join Full Outer Join
Trang 10FROM authors AS a INNER JOIN publishers AS p
ON a.city = p.city
ORDER BY p.pub_name ASC, a.au_lname ASC, a.au_fname ASC
SELECT a.au_fname, a.au_lname, p.pub_name
FROM authors a LEFT OUTER JOIN publishers p
ON a.city = p.city
ORDER BY p.pub_name ASC, a.au_lname ASC, a.au_fname ASC
SELECT a.au_fname, a.au_lname, p.pub_name
FROM authors AS a RIGHT OUTER JOIN publishers AS p
ON a.city = p.city
ORDER BY p.pub_name ASC, a.au_lname ASC, a.au_fname ASC
SELECT a.au_fname, a.au_lname, p.pub_name
FROM authors a FULL OUTER JOIN publishers p
ON a.city = p.city
ORDER BY p.pub_name ASC, a.au_lname ASC, a.au_fname ASC
Trang 113 Dùng Sub_Queries
trị đơn hoặc một tập các giá trị và nó được nằm trong các câu lệnh như Select, Insert, Update, or Delete
biểu thức được cho phép
khác (32 cấp).
+ Ngắt câu lệnh phức tạp thành những đoạn truy vấn đơn giản.
+ Trả lời một truy vấn từ một truy vấn khác.
+ Các Sub Query hầu như có thể viết bằng Join và SQL Server luôn luôn thi hành những câu lệnh Join nhanh hơn SubQueries.
Trang 12Where pub_id IN
Trang 13SELECT title FROM titles
Trang 14WHERE EXISTS
Trang 154 Chèn dữ liệu:
INSERT [INTO] <Table_Name> (Col_1, Col_2, )
VALUES (Value_1,Value_2, )
Chèn dữ liệu từ 1 câu lệnh Select
INSERT INTO <Table_1>
SELECT <List_Select> FROM <T able_source >
[ WHERE search_condition ]
Insert Into MyBooks
Select title_id, title, type
Trang 16UPDATE <table_name>
[ WHERE <search_condition> ]
Trang 176 Xóa dữ liệu:
DELETE
[ WHERE <search_condition> ]
Xóa toàn bộ dữ liệu dùng TRUNCATE TABLE.
Trang 18Xây dựng truy vấn CSDL
bằng Enterprise Manager
Xây dựng truy vấn CSDL
bằng Enterprise Manager