5. 2. Xem d li u trên b ngữ ệ ả
SELECT * FROM <tên b ng>ả
3. C p nh t d li u:ẠẠữ ệ
UPDATE <Tên b ng> SET <tên c t>= <giá trả ộ ị
m i>[ WHERE < i u ki n>]á»› Ä á» á»‡
4. Xóa các dòng th a mãn i u ki n:Ỡđ Ỡệ
DELETE FROM table_name
WHERE <tên c t>=<giá tr >;ộ ị
5. Xóa t t c các dòng nh ng v n gi nguyên c u trúc b ng:ấ ả ư ẫ ữ ấ ả
DELETE FROM table_name;
5
11. 11
SELECT <danh sách các
cá»™t>
FROM <danh sách các bảng>
WHERE <Ä‘iá»u kiện>
σ
Ï€
×
SELECT L
FROM R
WHERE C
πL (σC (R))
ï‚¡ SQL và ÄSQH
Ngôn ngữ truy ±¹áº¥n
12. 12
Và dụ
 Và dụ 1: Cho danh sách sinh viên gồm Mã SV, HỠtên, Ngà y sinh của
tất cả các sinh viên
Select MaSV, TenSV, Ngaysinh
from Sinhvien
 Và dụ 2: Cho danh sách sinh viên nữ thuộc lớp L02
Select *
From Sinhvien
Where (GT=N'Nữ') and (Lop='L02‘)
 Và dụ 3: Thêm định danh cho bảng và cho cột (sỠdụng từ khóa as)
select sv.MaSV, TenSV as 'Tên Sinh Viên'
from Sinhvien as sv
/* sau khi định danh cho bảng thì từ đó sỠdụng tên định danh*/
Ngôn ngữ truy ±¹áº¥n
13.  Và dụ 4: XỠlý dữ liệu kiểu chuỗi dùng Like hoặc not like để
tìm chuỗi gần đúng
%: Thay thế 1 chuỗi
-: thay thế 1 ký tự
 VD 4.1: Cho danh sách các sinh viên có tên là ‘Nga’
select *
from sinhvien
where TenSV like N'% Nga'
 VD 4.2: Cho danh sách những sinh viên hỠTrần
select *
from sinhvien
where TenSV like N'Trần %'
13Ngôn ngữ truy ±¹áº¥n
15. ï‚¡ Và dụ 6: Sá» dụng NULL/NOT NULL cho các trÆ°á»ng hợp sau:
- Không biết - không xác định (value unknown)
- Không thể áp dụng (value inapplicable)
- Không tồn tại (value withheld)
ï‚¡ VD: Cho danh sách gồm Mã Sinh viên và mã môn há»c của
sinh viên không có điểm thi
select MaSV, MaMH
from ketqua
where Diem is Null
15Ngôn ngữ truy ±¹áº¥n
16.  Và dụ 7: SỠdụng in: Cho danh sách các sinh viên có quê ở
Hà Ná»™i hoặc Phú Thá»
Select *
From Sinhvien
where que in (N'Hà ná»™i', N'Phú Thá»')
ï‚¡ Và dụ 8: Sá» dụng các toán tá»
- Distinct : loại bỠcác dòng dữ liệu trùng
- Top n : lấy n dòng đầu tiên
ï‚¡ VD 8.1: Liệt kê danh sách các tỉnh có sinh viên theo há»c tại
trÆ°á»ng
select distinct Que
from Sinhvien
16Ngôn ngữ truy ±¹áº¥n
17.  VD 8.2: Cho thông tin của hai sinh viên đầu tiên trong danh
sách sinh viên
select top (2) MaSV, TenSV,Que
from Sinhvien
17Ngôn ngữ truy ±¹áº¥n
42. 44
Và dụ 1: cho danh sách mã sinh viên, tên sv có điểm thi >8
 Cách 1: sá» dụng truy ±¹áº¥n thông thÆ°á»ng
select a.masv, tensv
from sinhvien as a, ketqua as b
where (a.masv=b.masv) and (diem>8)
 Cách 2: sá» dụng truy ±¹áº¥n lồng phân cấp
select Masv, tensv
from sinhvien
where Masv in ( select Masv
from ketqua
where (diem>8))
Ngôn ngữ truy ±¹áº¥n
43. 45
 Cách 3:
select Masv, tensv
from sinhvien as a
where exists (select *
from ketqua as b
where (a.MaSV=b.MaSV) and (diem>8))
Ngôn ngữ truy ±¹áº¥n
49. Và dụ
 + Và dụ 1: Cho danh sách mã sinh viên của những
sinh viên không có bất kỳ một điểm thi của một môn
há»c nà o.
select MasV
from Sinhvien
Except
select Masv
from ketqua
where diem not null
51Ngôn ngữ truy ±¹áº¥n
50. Và dụ 2: Cho danh sách tên của các sinh viên có đủ
Ä‘iểm hai môn vá»›i mã môn há»c là 1 và 3
select distinct tensv
from Sinhvien as a, Ketqua as b
where a.MaSV = b.MaSV and MaMH=1
Intersect
select distinct tensv
from Sinhvien as a, Ketqua as b
where a.MaSV = b.MaSV and MaMH=3
52Ngôn ngữ truy ±¹áº¥n
51. III. HÃ m trong SQL
 SQL có các loại hà m sau:
- Các hà m táºp hợp
- Hà m chuyển đổi kiểu dữ liệu
- Hà m ngà y tháng
- Hà m toán há»c
- …
53Ngôn ngữ truy ±¹áº¥n
54. ï‚¡ Äược dùng để thao tác giá trị ngà y tháng
 Gồm:
- GETDATE( )
- DAY( date ), MONTH( date ), YEAR( date )
- DATEDIFF( datepart, date1, date2 )
- DATEADD( datepart, number, date )
- DATENAME( datepart, date )
- DATEPART( datepart, date )
*Hà m ngà y tháng
58Ngôn ngữ truy ±¹áº¥n
55. 59Ngôn ngữ truy ±¹áº¥n
ÄÆ¡n vị thá»i gian Ký hiệu Values
Hour hh 0-23
Minute Mi, n 0-59
Second Ss, s 0-59
Day of Year Dy, y 1-366
Day Dd, d 1-31
Week Wk, www 1-53
Month Mm, m 1-12
Quarter Qq, q 1-4
Year Yy, yyyy 1753-9999
#54: Hà m là táºp lệnh SQL để thá»±c hiện công việc nà o đó
Hà m trong SQL là m việc với dữ liệu, nhóm dữ liệu để trả vỠmột kết quả mong đợi
#55: SUM( col_name )
Hà m tÃnh tổng, trả vá» tổng giá trị của col_name
SELECT SUM(OrderQty) AS Total FROM Purchasing.PurchaseOrderDetail
AVG( col_name )
Trả tÃnh giá trị trung bình
SELECT AVG(UnitPrice * OrderQty) AS AveragePrice FROM Purchasing.PurchaseOrderDetail
COUNT
Äếm số bản ghi trong bảng
SELECT COUNT(*) AS ‘Number of Large Orders’ FROM Purchasing.PurchaseOrderDetail WHERE OrderQty &gt; 100
MAX( col_name )
Trả vỠgiá trị lớn nhất
SELECT MAX(OrderQty * UnitPrice) AS ‘Largest Order’ FROM Purchasing.PurchaseOrderDetail
MIN( col_name )
Trả vỠgiá trị nhỠnhất
SELECT MIN(OrderQty * UnitPrice) AS ‘Smallest Order’ FROM Purchasing.PurchaseOrderDetail