SQL Server - Bài 4: SQL

Một số lưu ý khi viết câu lệnh SQL

• Câu lệnh SQL không phân biệt chữ hoa, chữ thường.

• Câu lệnh SQL có thể viết trên 1 hoặc nhiều dòng.

• Các từ khóa không được viết tắt hoặc tách ra thành nhiều

dòng.

• Các mệnh đề khác nhau nên đặt trên những dòng khác nhau

pdf42 trang | Chuyên mục: SQL Server | Chia sẻ: dkS00TYs | Lượt xem: 2290 | Lượt tải: 1download
Tóm tắt nội dung SQL Server - Bài 4: SQL, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
1TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
SQL Server
2TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
SQL (STRUCTURED QUERY 
LANGUAGE)
4
3TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Lệnh truy vấn dữ liệu 
4TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Câu lệnh SELECT đơn giản
5TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Khả năng của lệnh SELECT
Chọn dòngChọn cột
Bảng 1 Bảng 2
Bảng 1Bảng 1
Kết
6TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Lệnh SELECT cơ bản
SELECT *|{[DISTINCT] cot|bieu_thuc [bi_danh],...}
FROM bang
• SELECT : xác định những cột gì 
• FROM : xác định bảng nào
7TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
 SELECT *FROM qlns.phong
Chọn tất cả các cột
8TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Chọn những cột cần thiết
SELECT maphong, makhuvuc
FROM qlns.phong
9TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Một số lưu ý khi viết câu lệnh SQL
• Câu lệnh SQL không phân biệt chữ hoa, chữ thường. 
• Câu lệnh SQL có thể viết trên 1 hoặc nhiều dòng.
• Các từ khóa không được viết tắt hoặc tách ra thành nhiều 
dòng.
• Các mệnh đề khác nhau nên đặt trên những dòng khác nhau
10
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Các phép toán của biểu thức
Tạo các biểu thức với các kiểu dữ liệu số và ngày bằng các 
phép toán số học
Toán tử
+
-
*
 / 
Mô tả
Cộng
Trừ
Nhân
Chia
11
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Sử dụng các phép toán số học
SELECT tennv, mucluong, mucluong + 300
FROM qlns.nhanvien
…
12
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Sử dụng các dấu ngoặc
SELECT tennv, mucluong, 12*(mucluong+100)
FROM qlns.nhanvien;
…
13
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Khái niệm giá trị NULL
• NULL là một giá trị chưa được xác định
• NULL khác với zero hoặc giá trị rỗng.
SELECT tennv, macongviec, mucluong, phucap
FROM qlns.nhanvien
…
…
14
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
 SELECT tennv,mucluong,phucap,12*(mucluong+phucap)FROM qlns.nhanvien
Giá trị NULL trong các biểu thức số học
Các biểu thức số học có chứa giá trị NULL sẽ cho kết quả 
NULL
…
…
15
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Khái niệm bí danh của cột (Alias)
Bí danh của cột là :
• Sự đổi tên tiêu đề cho cột
• Rất hữu ích cho các biểu thức tính toán
• Xuất hiện ngay sau tên cột hoặc biểu thức, có thể 
thêm từ khóa AS giữa tên cột và bí danh
• Yêu cầu phải đặt trong dấu nháy kép hoặc móc 
vuông nếu có chứa khoảng trắng, ký tự đặc biệt 
hoặc sử dụng chữ hoa
16
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Sử dụng các bí danh cột
SELECT tennv [Ten], mucluong*12 “Luong Mot Nam"
FROM qlns.nhanvien
SELECT tennv AS ten, phucap pc
FROM qlns.nhanvien
…
…
17
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Sử dụng toán tử ghép nối
SELECT tennv + macongviec AS "Nhanvien"
FROM qlns.nhanvien
…
18
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Các dòng trùng nhau
Theo mặc định thì kết quả hiểu thị của câu lệnh truy 
vấn là tất cả các dòng, bao gồm cả những dòng trùng 
nhau
SELECT maphong
FROM qlns.nhanvien
…
19
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Loại bỏ những dòng trùng nhau
Sử dụng từ khóa DISTINCT trong mệnh đề SELECT.
SELECT DISTINCT maphong
FROM qlns.nhanvien
20
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Chỉ thể hiện một số dòng 
SELECT [TOP (expression) [PERCENT][ WITH TIES ]]
[danh_sach_cot]
FROM ...
SELECT TOP 3 
tennv, mucluong 
FROM qlns.nhanvien
Ví dụ : Cho biết tên và mức lương 3 nhân viên đầu tiên
21
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Thực hành
• Chọn xem tất cả dữ liệu từ những bảng 
khác nhau
• Chọn xem các cột, thực hiện các phép 
toán số học trên các cột
• Đặt bí danh cho các cột, biểu thức
22
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Giới hạn dòng và sắp xếp dữ 
liệu
23
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Giới hạn các dòng bằng cách sử dụng 
các điều kiện chọn lọc
“Hiển thị tất cả nhân 
viên trong phòng 20”
NHANVIEN
…
24
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Giới hạn các dòng trả về
• Sử dụng mệnh đề WHERE.
• Mệnh đề WHERE theo sau mệnh đề FROM.
SELECT *|{[DISTINCT] cot|bieu_thuc [bi_danh],...}
FROM bang
[WHERE dieu_kien]
25
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Sử dụng mệnh đề WHERE
SELECT manhanvien,honv,tennv,maphong,macongviec,ngayvaolam
FROM qlns.nhanvien
WHERE maphong = 20 
26
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Chuỗi ký tự và ngày
• Chuỗi ký tự và giá trị ngày được bao trong dấu nháy đơn.
• Các chuỗi ký tự có phân biệt chữ hoa, chữ thường.
• Nếu là chuỗi unicode thì phải thêm chữ N đầu chuỗi trước dấu nháy
• Để đảm bảo chuỗi ngày được hiểu đúng, ta sử dụng dạng ‘yyyy-mm-
dd’.
SELECT tennv, macongviec, maphong
FROM qlns.nhanvien
WHERE tennv = N‘Tùng'
SELECT tennv, macongviec, maphong
FROM qlns.nhanvien
WHERE ngayvaolam = ‘2005-01-15'
27
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Các phép toán so sánh
Toán tử
=
>
 >=
<
 <=
Ý nghĩa
Bằng
Lớn hơn
Lớn hơn hoặc bằng
Nhỏ hơn
Nhỏ hơn hoặc bằng
Không bằng
28
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
SELECT tennv, mucluong
FROM qlns.nhanvien
WHERE mucluong <= 3000000;
Sử dụng các phép toán so sánh
29
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Các điều kiện so sánh khác
Toán tử
BETWEEN
...AND...
IN(set)
LIKE
IS NULL
Ý nghĩa
Giữa hai giá trị,
Một trong các giá trị
So sánh ký tự theo mẫu
Là giá trị NULL
30
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Sử dụng BETWEEN
Chọn lọc các dòng dựa trên phạm vi giá trị
SELECT honv, tennv, mucluong
FROM qlns.nhanvien
WHERE mucluong BETWEEN 2500000 AND 3500000
Lower limit Upper limit
31
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
SELECT manhanvien,honv+‘ ‘+tennv as hotennv,
mucluong, manguoiquanly
FROM qlns.nhanvien
WHERE manguoiquanly IN (100, 114, 201);
Sử dụng IN
Kiểm tra giá trị nằm trong danh sách
32
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Sử dụng LIKE
−
% đại diện cho không hoặc nhiều ký tự.
−
_ đại diện cho 1 ký tự.
SELECT honv
FROM nhanvien
WHERE honv LIKE ‘L%'
SELECT tennv
FROM qlns.nhanvien
WHERE tennv LIKE '_o%';
33
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Sử dụng NULL
Kiểm tra giá trị NULL với toán tử IS 
NULL.
SELECT honv, tennv, manguoiquanly
FROM qlns.nhanvien
WHERE manguoiquanly IS NULL;
34
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Các toán tử logic
Toán tử
AND
OR
NOT
Ý nghĩa
TRUE nếu cả hai thành phần đều true
TRUE nếu một trong hai thành phần là 
true
TRUE nếu theo sau là giá trị false
35
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Sử dụng AND
SELECT manhanvien, honv, tennv, macongviec, mucluong
FROM qlns.nhanvien
WHERE mucluong >=5000000
AND macongviec LIKE '%TH%';
36
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Sử dụng OR
SELECT manhanvien, honv, tennv, macongviec, mucluong
FROM qlns.nhanvien
WHERE mucluong >= 5000000
OR macongviec LIKE ‘%TH%';
37
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
SELECT manv, tennv, macongviec
FROM qlns.nhanvien
WHERE macongviec 
 NOT IN (‘QLDAPM‘,’TPHONG’,’THI’,’BHANG’);
Sử dụng NOT
38
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
SELECT tennv, macongviec, maphong, ngayvaolam
FROM qlns.nhanvien
ORDER BY ngayvaolam 
Mệnh đề ORDER BY
• Sắp xếp các dòng với ORDER BY
−
ASC: thứ tự tăng dần, mặc định
−
DESC: thứ tự giảm dần
• Mệnh đề ORDER BY xuất hiện sau cùng 
trong câu lệnh SELECT.
…
39
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Sắp xếp theo thứ tự giảm dần
SELECT tennv, macongviec, maphong, ngayvaolam
FROM qlns.nhanvien
ORDER BY ngayvaolam DESC 
…
40
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Sắp xếp theo bí danh của cột
SELECT manhanvien, tennv, mucluong*12 LuongCaNam
FROM qlns.nhanvien
ORDER BY LuongCaNam
…
41
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
• Thứ tự các cột trong danh sách ORDER BY 
chính là thứ tự sắp xếp.
SELECT tennv, maphong, mucluong
FROM qlns.nhanvien
ORDER BY maphong, mucluong DESC
Sắp xếp theo nhiều cột
…
42
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Thực hành
• Giới hạn các dòng bằng mệnh đề WHERE
• Sắp xếp kết quả bằng ORDER BY

File đính kèm:

  • pdfSQL Server - Bài 4_SQL.pdf
Tài liệu liên quan