Tải bản đầy đủ (.ppt) (56 trang)

BÀI GIẢNG QUẢN LÝ HỆ THỐNG CƠ SỞ DỮ LIỆU CHAPTER 3 QUERY

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (515.13 KB, 56 trang )

Sunday, August 17, 2014 1
 ƯƠ 
ẤN DỮ LIỆU

Sunday, August 17, 2014
MỤC TIÊU

Sau khi buổi học sinh viên biết
được:

Về kiến thức: Câu lệnh Select ,
Insert, Update và Delete của
SQL trong việc tìm đọc, thay đổi dữ
liệu trên database.

Về kỹ năng: tìm đọc và thay đổi
được dữ liệu trên một database
Sunday, August 17, 2014
NỘI DUNG

1. Câu lệnh Select – Tìm đọc dữ liệu

2. Câu lệnh Insert – Thêm hàng dữ
liệu

3. Câu lệnh Update - Nhật tu các cột

4. Câu lệnh Delete – Xoá hàng dữ
liệu
Sunday, August 17, 2014
TÀI LIỆU



Giáo trình: Chương 3: Truy vấn dữ
liệu, HT TTKT P.2

Tài liệu tham khảo:
[1] Dương Quang Thiện, Chương 6: ‘Truy
vấn dữ liệu, “Lập trình T – SQL”, NXB
Văn Hoá Sài Gòn, trang 191 - 232
[2] SQL Server Books Online (từ khoá tìm
kiếm Select Query)
Sunday, August 17, 2014
1. CÂU LỆNH SELECT

Ý nghĩa:

Tìm đọc hàng dữ liệu từ một hoặc nhiều
bảng dữ liệu

Thống kê dữ liệu

Để ý:

Câu lệnh select được dùng nhiều nhất
trong SQL

Cách cơ bản để truy vấn dữ liệu
Sunday, August 17, 2014
Cú pháp:
SELECT [ALL |DISTINCT] select_list
[INTO new_table]

FROM table_source
[WHERE search_condition]
[GROUP BY group_by_expression]
[HAVING search_condition]
[ORDER BY order_expression [ASC| DESC]]
[COMPUTEC row_aggregate(column_name)]
[BY column_name]]
1. CÂU LỆNH SELECT
Sunday, August 17, 2014
1.1 Danh sách chọn (select
list)

Chọn tất cả các cột trong bảng
Cú pháp:
SELECT * FROM table_name
Ví dụ: Đọc toàn bộ dữ liệu của DMHH
SELECT *
FROM DanhMucHangHoa
Sunday, August 17, 2014
1.1 Danh sách chọn (select
list)

Chọn các cột được chỉ định
Cú pháp:
SELECT col_name i, […col_name n]
FROM table_name
Ví dụ: Đọc dữ liệu cột mã hàng, tên hàng
SELECT MaHang,tenhang
FROM DanhMucHangHoa
Sunday, August 17, 2014

1.1 Danh sách chọn (select
list)

Đổi tên các cột trong kết quả

Cú pháp:
SELECT ‘tiêu_đề_cột’ = tên_cột
hoặc tên_cột as ‘tiêu_đề_cột’
Ví dụ: Đổi tiêu đề cột trong kết quả câu truy
vấn TenHang => Tên hàng
SELECT ‘Tên hàng’ =TenHang
FROM DanhMucHangHoa
Select Tenhang as ‘Tên Hàng’
Sunday, August 17, 2014
1.1 Danh sách chọn (select
list)

Tính toán các giá trị trong danh sách chọn
Ví dụ: Hiển thị cột thành tiền trong kết quả
câu truy vấn
SELECT Thanhtien =soluong*dongia
FROM DanhMucHangHoa
Sunday, August 17, 2014
1.1 Danh sách chọn (select
list)

Từ khoá DISTINCT loại bỏ ra khỏi
kết quả truy vấn những dòng dữ liệu
giống (trùng) nhau.
Ví dụ: Liệt kê mã hàng nhập kho, loại bỏ

các hàng trùng nhau
SELECT DISTINCT mahang
FROM chitietnhapkho
Sunday, August 17, 2014
1.1 Danh sách chọn (select
list)

Tạo bảng mới câu lệnh SELECT …INTO
có cấu trúc được xác định từ kết quả câu
truy vấn
Ví dụ: Tạo bảng DMHH từ kết quả câu lệnh
select mặt hàng có đvt là mét
SELECT *
INTO DMHH_DVT
FROM DanhMucHangHoa
WHERE dvt = 'mét'
Sunday, August 17, 2014
1.2 Mệnh đề FROM

Ý nghĩa: Xác định table, khung nhìn và sự
liên kết giữa các table khi truy vấn dữ liệu

Cú pháp:
FROM {<table_source>} [ , n ] ]
<joined_table> (mục 1.8 Mệnh đề Join)
Sunday, August 17, 2014
1.2 Mệnh đề FROM
Ví dụ:Hiển thị toàn bộ thông tin hàng hóa từ
bảng DanhMucHangHoa
SELECT *

FROM DanhMucHangHoa
Sunday, August 17, 2014
1.3 Mệnh đề WHERE

Ý nghĩa: Xác định các điều kiện đối với
việc truy vấn dữ liệu

Sau WHERE là một biểu thức logic

Các toán tử so sánh

Giới hạn

Danh sách

Khuôn dạng

Giá trị chưa biết

Kết hợp các điều kiện
Sunday, August 17, 2014
1.3 Mệnh đề WHERE

Các toán tử so sánh (>,<,=,<>…)
Ví dụ: Đọc thông tin toàn bộ mặt hàng
có DVT là mét
SELECT *
FROM DanhMucHangHoa
WHERE dvt = 'mét'
Sunday, August 17, 2014

1.3 Mệnh đề WHERE

Giới hạn khoảng tìm kiếm
(BETWEEN và NOT BETWEEN)
Ví dụ: Hiển thị mặt hàng có số lượng
nhập từ 10.000 đến 20.000
SELECT *
FROM chitietnhapkho
WHERE slnhap between 10000 and
20000
Sunday, August 17, 2014
1.3 Mệnh đề WHERE

Danh sách (IN, NOT IN) chỉ định
điều kiện tìm kiếm (danh sách các
giá trị)
Ví dụ: Tìm thông tin về khách hàng 01,
02 trong DMKH
SELECT *
FROM DanhMucKhachHang
WHERE MAKH IN ('KH01','KH02')
Sunday, August 17, 2014
1.3 Mệnh đề WHERE

Các ký tự đại diện: từ khoá LIKE (NOT
LIKE): mô tả khuôn dạng của dữ liệu cần tìm
kiếm

Ký tự đại diện:


%: chuỗi ký tự bất kỳ

-: Ký tự đơn bất kỳ

[] ký tự đơn bất kỳ trong giới hạn được chỉ
định

[^] ký tự đơn bất kỳ không trong giới hạn
được chỉ định
Sunday, August 17, 2014
1.3 Mệnh đề WHERE

Các ký tự đại diện mà mệnh đề LIKE
(NOT LIKE)
Ví dụ: Tìm tất cả các khách hàng, có
mã số thuế bắt đầu với ký tự 03
SELECT *
FROM Danhmuckhachhang
WHERE MST LIKE '03%'
Sunday, August 17, 2014
1.3 Mệnh đề WHERE

Toán tử logic AND, OR để kết hợp
các điều kiện
Ví dụ: Đọc thông tin về mặt hàng nhập
kho thoả mãn điều kiện mặt hàng B
và số lượng nhập lớn hơn 10.000
SELECT *
FROM ChiTietNhapKho
WHERE Mahang ='SP_B' AND SLNhap

>=10000
Sunday, August 17, 2014
1.4 Mệnh đề GROUP BY
GROUP BY để

Tổ chức dữ liệu vào các nhóm

Áp dụng các hàm tổng hợp đối với những
nhóm nhỏ hàng dữ liệu chọn ra:

AVG(DISTINCT column_name),

COUNT(DISTINCT column_name),

SUM(DISTINCT column_name),
Bạn để ý: DISTINCT dùng loại bỏ các giá trị
trùng nhau khi tổng hợp
Sunday, August 17, 2014
Ví dụ 1: Tính tổng trị giá cuối kỳ
SELECT 'Tổng trị giá cuối kỳ',
sum(tienTonDk)
From danhmuchanghoa
Ví dụ 2: Nhập kho bao nhiêu mặt hàng?
SELECT count(distinct mahang)
FROM chitietnhapkho
Sunday, August 17, 2014
1.4 Mệnh đề GROUP BY
Ví dụ GROUP BY: Số lần nhập của từng
mặt hàng theo nhóm sản phẩm
SELECT mahang, COUNT(*)

FROM chitietnhapkho
GROUP BY mahang
Sunday, August 17, 2014
1.5 Mệnh đề HAVING

Ý nghĩa: thiết lập điều kiện cho một
nhóm hoặc hàm tổng hợp

Mệnh đề HAVING (cả nhóm) khác với
mệnh đề WHERE (từng hàng, không có
hàm tổng hợp)
Để ý:

Chỉ sau khi dữ liệu đã được nhóm và tổng
hợp, điều kiện trong mệnh đề HAVING mới
được áp dụng.

×