Tải bản đầy đủ (.pdf) (5 trang)

Programming HandBook part 115 doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (126.47 KB, 5 trang )

LAST(column) Trả về giá trị của bản ghi cuối trong một trường được chỉ định
(không hỗ trợ trong SQL Server 2000)
MAX(column) Trả về giá trị lớn nhất của một cột
MIN(column) Trả về giá trị nhỏ nhất của một cột
STDEV(column)
STDEVP(column)
SUM(column) Trả về tất cả giá trị trong một cột
VAR(column)
VARP(column)




Scalar functions

Scalar functions có tác dụng ngược lại đối với một số giá trị nhất định, và trả về
thành phần một số giá trị trên những giá trị được đưa vào.


Scalar Functions được dùng trong MS Access


Function Description

UCASE(c) Chuyển một trường sang chữ HOA
LCASE(c) Chuyển một trường sang chữ thường
MID(c,start[,end]) Lấy ra những kí tự trong trường text
LEN(c) Trả về độ dài của một trường text
INSTR(c,char) Trả về số vị trí của tên kí tự trong một trường text
LEFT(c,number_of_char) Trả về phần bên trái của một trường text được yêu cầu
RIGHT(c,number_of_char) Trả về phần bên phải của một trường text được yêu


cầu
ROUND(c,decimals) Làm tròn số trường thập phân
MOD(x,y) Trả về phần còn lại của phép chia
NOW() Trả về ngày tháng của hệ thống hiện thời
FORMAT(c,format) Thay đổi hướng của trường hiển thị
DATEDIFF(d,date1,date2) Sử dụng để thực thi việc tính toán ngày tháng


dondoc (vniss)

Phần 2 SQL Advanced (bài 12)

SQL GROUP BY and HAVING

Tập hợp functions (giống như lệnh SUM) thường cần thiết thêm vào hàm GROUP
BY .

GROUP BY được xem thêm vào SQL bởi vì tập hợp các hàm trả về tập hợp của
tất cả giá trị của cột theo mọi thời điểm mà họ gọi ra , và ko dùng hàm GROUP
BY thì xem như ko thể tìm được số tổng số của những giá trị nhóm cột riêng lẻ .

Cú pháp :
Trích:
SELECT column,SUM(column) FROM table GROUP BY column
Ví dụ về GROUP BY :

Đây là table "Sales" :




Sử dụng câu lệnh SQL để xem những trường có trong table này :
Trích:
SELECT Company, SUM(Amount) FROM Sales

Kết quả :



Đoạn code trên sẽ ko có hiệu lực bởi vị cột SUM(Amount) sẽ trả về tổng của tất cả
các giá trị trong đó nên hiển thị sai .Mệnh đề GROUP BY sẽ giải quyết được vấn
đề này :
Trích:
SELECT Company,SUM(Amount) FROM Sales
GROUP BY Company

Kết quả :



Như bạn thấy câu lệnh trên sẽ nhóm những giá trị theo cột Company như vậy các
giá trị Amount sẽ phải hiển thị đúng theo sự sắp xếp bên đó. Kết quả W3Schools
có giá trị là 12600 vì có 2 trường cộng lại , IBM thì giữ nguyên đúng giá trị của nó.


HAVING

Với câu lệnh này có lẽ bạn đã hiểu ý nghĩa của nó vì SQL rất gần với ngôn ngữ
bình thường.

Cú pháp :

Trích:
SELECT column,SUM(column) FROM table
GROUP BY column
HAVING SUM(column) condition value

Xem qua ví dụ sau đây bạn sẽ hiểu :

Vẫn table Sales :



Ta thực hiện lệnh như sau :
Trích:
SELECT Company,SUM(Amount) FROM Sales
GROUP BY Company
HAVING SUM(Amount)>10000

Kết quả :



Kết quả sẽ hiển thị ra số nào ứng với cột Company có số lượng >10000 (having),
vậy chỉ có W3Schools với tổng số là 12600.
dondoc (vniss)

Phần 2 SQL Advanced (bài 13)


SQL SELECT INTO Statement :


Câu lệnh SELECT INTO thường được dùng để tạo những back up hoặc của tables
hoặc những bản ghi .

Cú pháp :
Trích:
SELECT column_name(s) INTO newtable [IN externaldatabase]
FROM source

Sử dụng để backup :
Những ví dụ sau đây được dùng để backup table Persons :
Trích:
SELECT * INTO Persons_backup
FROM Persons

Mệnh đề IN có thể được sử dụng để copy thêm tables vào trong database :
Trích:
SELECT Persons.* INTO Persons IN 'Backup.mdb'
FROM Persons

Nếu bạn chỉ muốn copy một vài trường thì có thể select trực tiếp đến những trường
đó :
Trích:
SELECT LastName,FirstName INTO Persons_backup
FROM Persons

Bạn cũng có thể sử dụng mệnh đề WHERE. Những ví dụ sau đây sẽ tạo một table
"Persons_backup" với 2 cột (FirstName và LastName) được trích trong table
Persons với cột City='Sandnes' (có nghĩa là những FirstName và LastName có City
= 'Sandnes')
Trích:

SELECT LastName,Firstname INTO Persons_backup
FROM Persons
WHERE City='Sandnes'

Cũng có thể select dữ liệu trong nhiều tables khác. Ví dụ này tạo một table mới có
tên "Empl_Ord_backup" và chứa nội dung của 2 table là Employees và Orders:
Trích:
SELECT Employees.Name,Orders.Product
INTO Empl_Ord_backup
FROM Employees
INNER JOIN Orders
ON Employees.Employee_ID=Orders.Employee_ID

Như vậy là table "Empl_Ord_backup" sẽ chứa tất cả các giá trị trong cột
Employee_ID của 2 table Employees và Orders .
dondoc (vniss)

Phần 2 SQL Advanced (bài 14)

×