Các phép toán của biểu thứcTạ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... Sử dụng các phép toán số họcSELECT te
Trang 1SQL Server
Trang 2SQL (STRUCTURED QUERY
LANGUAGE)
4
Trang 3Lệnh truy vấn dữ liệu
Trang 4Câu lệnh SELECT đơn giản
Trang 5Khả năng của lệnh SELECT
Chọn dòng Chọn cột
Bảng 1 Bảng 1
Kết
Trang 7SELECT *
FROM qlns.phong
Chọn tất cả các cột
Trang 8Chọn những cột cần thiết
SELECT maphong, makhuvuc
FROM qlns.phong
Trang 9Mộ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
Trang 10Cá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
Trang 11Sử dụng các phép toán số học
SELECT tennv, mucluong, mucluong + 300
FROM qlns.nhanvien
…
Trang 12Sử dụng các dấu ngoặc
SELECT tennv, mucluong, 12*(mucluong+100)
FROM qlns.nhanvien;
…
Trang 13Khá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
…
Trang 14SELECT 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
…
…
Trang 15Khá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
Trang 17Sử dụng toán tử ghép nối
SELECT tennv + macongviec AS "Nhanvien"
FROM qlns.nhanvien
…
Trang 19Loạ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
Trang 22Giới hạn dòng và sắp xếp dữ
liệu
Trang 23Giớ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
…
Trang 25Sử dụng mệnh đề WHERE
SELECT manhanvien,honv,tennv,maphong,macongviec,ngayvaolam
FROM qlns.nhanvien
WHERE maphong = 20
Trang 26Chuỗ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
Trang 27Nhỏ hơn hoặc bằng
Trang 28SELECT tennv, mucluong
FROM qlns.nhanvien
WHERE mucluong <= 3000000;
Sử dụng các phép toán so sánh
Trang 29Cá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
Trang 30Sử 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
Trang 31SELECT 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
Trang 32Sử dụng LIKE
− % đại diện cho không hoặc nhiều ký tự.
− _ đại diện cho 1 ký tự.
Trang 34Cá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
Trang 37SELECT manv, tennv, macongviec
FROM qlns.nhanvien
WHERE macongviec
NOT IN (‘QLDAPM‘,’TPHONG’,’THI’,’BHANG’);
Sử dụng NOT
Trang 38SELECT tennv, macongviec, maphong, ngayvaolam
• Mệnh đề ORDER BY xuất hiện sau cùng
trong câu lệnh SELECT.
Trang 40Sắp xếp theo bí danh của cột
SELECT manhanvien, tennv, mucluong*12 LuongCaNam
FROM qlns.nhanvien
ORDER BY LuongCaNam
Trang 41• Thứ tự các cột trong danh sách ORDER BY
Trang 42Thực hành