bài 4.1 - sql (structured query language) - sql server

Post on 25-Jun-2015

7.289 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

Lệnh truy vấn dữ liệu

TRANSCRIPT

11

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

SQL Server

22

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

SQL (STRUCTURED QUERY LANGUAGE)

4

33

TRƯỜ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

44

TRƯỜ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

55

TRƯỜ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 SELECTChọn dòngChọn cột

Bảng 1 Bảng 2

Bảng 1Bảng 1

Kết

66

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Lệnh SELECT cơ bảnSELECT *|{[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

77

TRƯỜ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

88

TRƯỜ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ếtSELECT maphong, makhuvucFROM qlns.phong

99

TRƯỜ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

1010

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

1111

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ọcSELECT tennv, mucluong, mucluong + 300FROM qlns.nhanvien

1212

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ặcSELECT tennv, mucluong, 12*(mucluong+100)FROM qlns.nhanvien;

1313

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, phucapFROM qlns.nhanvien

1414

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ọcCác biểu thức số học có chứa giá trị NULL sẽ cho kết quả

NULL

1515

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

1616

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 pcFROM qlns.nhanvien

1717

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ốiSELECT tennv + macongviec AS "Nhanvien"FROM qlns.nhanvien

1818

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 nhauTheo 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 nhauSELECT maphongFROM qlns.nhanvien

1919

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 nhauSử dụng từ khóa DISTINCT trong mệnh đề SELECT.

SELECT DISTINCT maphongFROM qlns.nhanvien

2020

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

2121

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

2222

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

2323

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

2424

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]

2525

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Sử dụng mệnh đề WHERESELECT manhanvien,honv,tennv,maphong,macongviec,ngayvaolamFROM qlns.nhanvienWHERE maphong = 20

2626

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, maphongFROM qlns.nhanvienWHERE tennv = N‘Tùng'

SELECT tennv, macongviec, maphongFROM qlns.nhanvienWHERE ngayvaolam = ‘2005-01-15'

2727

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

2828

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

SELECT tennv, mucluongFROM qlns.nhanvienWHERE mucluong <= 3000000;

Sử dụng các phép toán so sánh

2929

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)LIKEIS 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

3030

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Sử dụng BETWEENChọn lọc các dòng dựa trên phạm vi giá trị

SELECT honv, tennv, mucluongFROM qlns.nhanvienWHERE mucluong BETWEEN 2500000 AND 3500000

Lower limit Upper limit

3131

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.nhanvienWHERE manguoiquanly IN (100, 114, 201);

Sử dụng INKiểm tra giá trị nằm trong danh sách

3232

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 honvFROM nhanvienWHERE honv LIKE ‘L%'

SELECT tennvFROM qlns.nhanvienWHERE tennv LIKE '_o%';

3333

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Sử dụng NULLKiểm tra giá trị NULL với toán tử IS

NULL.SELECT honv, tennv, manguoiquanlyFROM qlns.nhanvienWHERE manguoiquanly IS NULL;

3434

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Các toán tử logicToá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

3535

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Sử dụng ANDSELECT manhanvien, honv, tennv, macongviec, mucluongFROM qlns.nhanvienWHERE mucluong >=5000000AND macongviec LIKE '%TH%';

3636

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Sử dụng ORSELECT manhanvien, honv, tennv, macongviec, mucluongFROM qlns.nhanvienWHERE mucluong >= 5000000OR macongviec LIKE ‘%TH%';

3737

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

SELECT manv, tennv, macongviecFROM qlns.nhanvienWHERE macongviec NOT IN (‘QLDAPM‘,’TPHONG’,’THI’,’BHANG’);

Sử dụng NOT

3838

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

SELECT tennv, macongviec, maphong, ngayvaolamFROM qlns.nhanvienORDER 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.

3939

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ầnSELECT tennv, macongviec, maphong, ngayvaolamFROM qlns.nhanvienORDER BY ngayvaolam DESC

4040

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 LuongCaNamFROM qlns.nhanvienORDER BY LuongCaNam

4141

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, mucluongFROM qlns.nhanvienORDER BY maphong, mucluong DESC

Sắp xếp theo nhiều cột

4242

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

top related