- Dùng để giới hạn quyền truy xuất dữ liệu của
NGÔN NGỮ THAO TÁC DỮ LIỆU
Truy xuất dữ liệu: SELECT
10
NGÔN NGỮ THAO TÁC DỮ LIỆU
Mệnh đề FROM: chỉ định các bảng và khung nhìn cần truy xuất dữ liệu, tên các bảng và khung nhìn phân cách nhau bởi dấu phẩy.
Mệnh đề WHERE: xác định các điều kiện đối với việc truy xuất dữ liệu, thường sử dụng:
Các toán tử so sánh: =, >, <, <=, >=, <>, !>, !<
Giới hạn (BETWEEN và NOT BETWEEN)
Danh sách (IN và NOT IN)
Khuôn dạng (LIKE và NOT LIKE)
Giá trị chưa biết (IS NULL và NOT IS NULL)
Kết hợp các điều kiện (AND, OR)
Biên soạn: GV. Ths. Phạm Thế Hùng
NGÔN NGỮ THAO TÁC DỮ LIỆU
Ví dụ:
SELECT ten, diachi, dienthoai FROM nhanvien WHERE hsluong>2.34
SELECT ten, tuoi, diachi FROM nhanvien WHERE hsluong BETWEEN 2.34 AND 6.52
SELECT * FROM nhanvien
WHERE hsluong IN (2.34, 2.76, 3.65, 6.52)
SELECT * FROM nhanvien WHERE hoten LIKE ‘% Nam’
11
NGÔN NGỮ THAO TÁC DỮ LIỆU
Sử dụng cấu trúc CASE để thay đổi dữ liệu kết quả
Ví dụ 1: Xếp loại học lực của sinh viên dựa trên điểm
Biên soạn: GV. Ths. Phạm Thế Hùng
NGÔN NGỮ THAO TÁC DỮ LIỆU
Sử dụng cấu trúc CASE để thay đổi dữ liệu kết quả
Ví dụ 2: In thông tin loại hình sử dụng đất dựa trên mã sử dụng đất
12
NGÔN NGỮ THAO TÁC DỮ LIỆU
Sử dụng chuỗi ký tự trong kết quả
Biên soạn: GV. Ths. Phạm Thế Hùng
NGÔN NGỮ THAO TÁC DỮ LIỆU
Sử dụng chuỗi ký tự trong kết quả
13
NGÔN NGỮ THAO TÁC DỮ LIỆU
Tính toán các giá trị trong câu lệnh SELECT
Chuyển đổi từ thang điểm 10 sang thang điểm 4
Biên soạn: GV. Ths. Phạm Thế Hùng
NGÔN NGỮ THAO TÁC DỮ LIỆU
Từ khóa DISTINCT: loại bỏ những dòng giá trị giống nhau
Hiển thị quê quán của sinh viên (không kể trùng nhau)
14
NGÔN NGỮ THAO TÁC DỮ LIỆU
Tạo bảng mới bằng câu lệnh SELECT…INTO
Tạo danh sách sinh viên mới với những sinh viên từ điểm 5 trở lên
Biên soạn: GV. Ths. Phạm Thế Hùng
NGÔN NGỮ THAO TÁC DỮ LIỆU
Sắp xếp kết quả truy vấn bằng ORDER BY
Ví dụ: Sắp xếp điểm của sinh viên từ cao xuống thấp:
15
NGÔN NGỮ THAO TÁC DỮ LIỆU
Phép nối (Join) được dùng để truy xuất dữ liệu từ 2 hay nhiều bảng hoặc khung nhìn trong cùng 1 CSDL hoặc trong các CSDL khác nhau.
Xuất kết quả tên khoa của sinh viên
Biên soạn: GV. Ths. Phạm Thế Hùng
NGÔN NGỮ THAO TÁC DỮ LIỆU
Phép nối bằng (Inner Join): giá trị các cột được sử dụng để nối được so sánh với nhau dựa trên tiêu chuẩn bằng và tất các các cột trong các bảng tham gia nối đều được đưa ra kết quả.
SELECT * FROM nhanvien, donvi
WHERE nhanvien.madonvi = donvi.madonvi
16
NGÔN NGỮ THAO TÁC DỮ LIỆU
Phép nối với các điều kiện bổ sung: trong mệnh đề WHERE của phép nối ta bổ sung các điều kiện tìm kiếm khác
Tìm tất cả sinh viên thuộc khoa Sư phạm?
Biên soạn: GV. Ths. Phạm Thế Hùng
NGÔN NGỮ THAO TÁC DỮ LIỆU
Phép nối tự nhiên (natural join): là trường hợp đặc biệt của inner join, gộp các cột giống nhau.
Phép nối với các điều kiện bổ sung: trong mệnh đề WHERE của phép nối ta bổ sung các điều kiện tìm kiếm khác
SELECT hoten, diachi, tendonvi FROM nhanvien, donvi WHERE nhanvien.madonvi = donvi.madonvi AND nhanvien.hsluong>=3.5
Phép nối và các alias
SELECT n1.hoten FROM nhanvien n1, nhanvien n2
WHERE n2.hoten = ‘Trần Nhật Nam’ AND n1.diachi = n2.diachi
17
NGÔN NGỮ THAO TÁC DỮ LIỆU
Phép nối ngoài (outer join): không đòi hỏi các record trong hai bảng phải khớp nhau.
Phép nối ngoài trái (left outer join): chứa tất cả mẫu tin của bảng bên trái và những mẫu tin khớp với nó ở bảng bên phải.
SELECT * FROM nhanvien LEFT OUTER JOIN donvi ON nhanvien.madonvi = donvi.madonvi
Phép nối ngoài phải (right outer join) giữ lại bảng bên phải và những mẫu tin khớp bên trái.
SELECT * FROM nhanvien RIGHT OUTER JOIN donvi ON nhanvien.madonvi = donvi.madonvi
Biên soạn: GV. Ths. Phạm Thế Hùng
NGÔN NGỮ THAO TÁC DỮ LIỆU
Phép hợp UNION: hợp các kết quả của hai hay nhiều truy vấn thành một tập kết quả duy nhất.
18
NGÔN NGỮ THAO TÁC DỮ LIỆU
Tạo thống kê dữ liệu với COMPUTE … BY: được dùng kết hợp với ORDER BY để tạo ra các report thống kê giá trị theo từng nhóm.
Các hàm được sử dụng với COMPUTE … BY bao gồm: SUM, AVG, MIN, MAX và COUNT.
SELECT hoten, tendonvi, hsluong FROM nhanvien, donvi WHERE nhanvien.madonvi = donvi.madonvi ORDER BY nhanvien.madonvi
COMPUTE AVG (hsluong) BY nhanvien.madonvi
Biên soạn: GV. Ths. Phạm Thế Hùng
NGÔN NGỮ THAO TÁC DỮ LIỆU
Thống kê dữ liệu với GROUP BY và HAVING
Các hàm được sử dụng với GROUP BY bao gồm: SUM, AVG, MIN, MAX và COUNT.
Ví dụ: cho biết hệ số lương trung bình của các nhân viên theo từng đơn vị và hiển thị những đơn vị có hệ số lương trình bình lớn hơn 2.34
SELECT donvi.madonvi, tendonvi, avg (hsluong)
FROM nhanvien, donvi WHERE nhanvien.madonvi = donvi.madonvi GROUP BY donvi.madonvi, tendonvi
HAVING avg(hsluong) > 2.34
19
NGÔN NGỮ THAO TÁC DỮ LIỆU
Truy vấn con (subquery): câu truy vấn lồng bên trong một câu truy vấn khác.
Ví dụ: hiển thị thông tin về các nhân viên làm việc ở những đơn vị có số điện thoại không bắt đầu bằng số 82
SELECT * FROM nhanvien WHERE madonvi NOT IN (SELECT madonvi FROM donvi
WHERE dienthoai LIKE ‘82%’)
Biên soạn: GV. Ths. Phạm Thế Hùng
NGÔN NGỮ THAO TÁC DỮ LIỆU
Thêm dữ liệu với câu lệnh INSERT
INSERT INTO nhanvien VALUES (‘NV005’, ’Trần Thanh Tùng’, ’23/5/1984’, NULL, ‘848323’, 2.34, ‘05’)
Trường hợp nhập 1 số cột trong bảng
INSERT INTO nhanvien (manv, hoten, diachi) VALUES (‘NV006’, ‘Nguyễn Thị An’ , ‘Tp. Cao Lãnh’)
Ngoài ra có thể nhập từ bảng khác
20
NGÔN NGỮ THAO TÁC DỮ LIỆU
Cập nhật dữ liệu với lệnh UPDATE
Ví dụ: tăng lương thêm 0.3 cho những nhân viên làm việc tại đơn vị có mã đơn vị là 05
UPDATE nhanvien SET hsluong = hsluong + 0.3 WHERE madonvi = ‘05’
Từ khóa FROM dùng khi điều kiện cập nhật có liên quan đến bảng khác.
Biên soạn: GV. Ths. Phạm Thế Hùng
NGÔN NGỮ THAO TÁC DỮ LIỆU
Xóa dữ liệu: DELETE
DELETE FROM nhanvien FROM donvi
WHERE nhanvien.madonvi = donvi.madonvi AND donvi.dienthoai = ‘848835’
21