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

Truy vấn cơ sở dữ liệu

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 (158.94 KB, 25 trang )





Truy vấn cơ sở dữ liệu
Truy vấn cơ sở dữ liệu
Bài 3 / Slide
Bài 3 / Slide
1
1
of 25
of 25©NIIT
Bài 3: Truy vấn cơ sở dữ liệu
Mục tiêu:


Các đặt điểm của mô hình client – server

Xác định dữ liệu vào của câu truy vấn

Lên kế hoạch và tạo định dạng cho kết quả của câu truy vấn

Dùng câu lệnh Select với tóan tử quan hệ

Dùng câu lệnh Select với tóan tử luận lý

Dùng câu lệnh Select với toán tử so sánh phần tử trong miền trị

Dùng câu lệnh Select với toán tử so sánh phần tử với danh sách

Dùng các hàm nhóm



Dùng mệnh đề group by




Truy vấn cơ sở dữ liệu
Truy vấn cơ sở dữ liệu
Bài 3 / Slide
Bài 3 / Slide
2
2
of 25
of 25©NIIT
Đặt điểm của mô hình client – server

Trong mô hình Client – Server (Mô hình khách – chủ) chức
năng của ứng dụng được chia làm 2 quá trình: quá trình
client và quá trình server.

Quá trình client xử lý dữ liệu nhập và giao diện người dùng

Quá trình server thực hiện tất cả những tác vụ liên quan về
dữ liệu như lưu trữ, truy vấn dữ liệu.




Truy vấn cơ sở dữ liệu
Truy vấn cơ sở dữ liệu

Bài 3 / Slide
Bài 3 / Slide
3
3
of 25
of 25©NIIT
Ưu điểm của mô hình client – server

Chia sẽ dữ liệu: Dữ liệu được lưu trữ tập trung tại một máy chủ
và được dùng chung cho toàn bộ người dùng của hệ thống này.

Giảm thiểu được sự dư thừa dữ liệu và thời gian bảo trì: Vì dữ
liệu được lưu trữ tập trung nên việc bảo trì rất dễ dàng và không
có dư thừa dữ liệu nên hạn chế tối đa việc không nhất quán của
cơ sở dữ liệu được lưu trữ.




Truy vấn cơ sở dữ liệu
Truy vấn cơ sở dữ liệu
Bài 3 / Slide
Bài 3 / Slide
4
4
of 25
of 25©NIIT
Giới thiệu Microsoft SQL Server

MS SQL Server được Microsoft hiện thực dựa trên mô hình

client – server.

MS SQL Server cung cấp rất nhiều đặt điểm cần thiết để quản lý
dữ liệu. Các đặt điểm nổi bậc là:

Hỗ trợ cơ chế truy xuất dữ liệu từ web.

Dễ dàng mở rộng và nâng cấp khi dữ liệu cần lưu trữ lớn.

Có độ tin cậy cao.

Dễ dùng do đó thời gian phát triển ứng dụng sẽ được rút
ngắn.




Truy vấn cơ sở dữ liệu
Truy vấn cơ sở dữ liệu
Bài 3 / Slide
Bài 3 / Slide
5
5
of 25
of 25©NIIT
Giới thiệu về SQL Server (tiếp theo)

SQL Server cung cấp ngôn ngữ để truy xuất và quản lý dữ liệu
được lưu trữ trong SQL Server. Ngôn ngữ này được gọi là Ngôn
Ngữ truy vấn có cấu trúc (Structured Query Language - SQL)


MS SQL Server còn cung cấp thêm các chức năng mở rộng của
ngôn ngữ SQL gọi là ngôn ngữ T-SQL (Transact SQL).

Các kiểu dữ liệu trong SQL Server: SQL Server lưu giữ dữ liệu
thuộc nhiều kiểu khác nhau: kiểu ký tự, kiểu số, kiểu tiền tệ,
kiểu ngày tháng…




Truy vấn cơ sở dữ liệu
Truy vấn cơ sở dữ liệu
Bài 3 / Slide
Bài 3 / Slide
6
6
of 25
of 25©NIIT
Truy vấn dữ liệu hiển thị một số cột trong bảng

Ví dụ minh họa:
Các thông tin chi tiết về tuyển dụng được lưu trữ trên cơ sở dữ
liệu RECRUITMENT trong SQL Server. Các bảng chứa các
thông tin về ứng viên, về bằng cấp, địa chỉ liên lạc, thông tin về
vị trí công việc cần tuyển dụng, và các thông tin khác được yêu
cầu bởi nhân viên tuyển dụng.
Hãy tạo ra một báo cáo bao gồm tên, thành phố, và số điện
thoại của các ứng viên bên ngòai công ty.


Chú ý: cơ sở dữ liệu này có thể download trên trang www.niit-
vn.com




Truy vấn cơ sở dữ liệu
Truy vấn cơ sở dữ liệu
Bài 3 / Slide
Bài 3 / Slide
7
7
of 25
of 25©NIIT
Các bước để truy vấn dữ liệu

Xác định cấu trúc của kết quả câu lệnh truy vấn

Viết câu truy vấn

Thực thi câu truy vấn

Kiểm tra kết quả câu truy vấn




Truy vấn cơ sở dữ liệu
Truy vấn cơ sở dữ liệu
Bài 3 / Slide

Bài 3 / Slide
8
8
of 25
of 25©NIIT
Các bước để truy vấn dữ liệu (tiếp theo)

Xác định cấu trúc của kết quả câu lệnh truy vấn




Truy vấn cơ sở dữ liệu
Truy vấn cơ sở dữ liệu
Bài 3 / Slide
Bài 3 / Slide
9
9
of 25
of 25©NIIT
Các bước để truy vấn dữ liệu (tiếp theo)

Viết câu truy vấn: Câu lệnh SQL để truy vấn dữ liệu có cú pháp
như sau:
SELECT [ALL | DISTINCT] select_column_list
[INTO [new_table_name]]
[FROM {table_name | view_name}[(optimizer_hints)]
[[,{table_name2 | view_name2}[(optimizer_hints)]
[WHERE clause]
[GROUP BY clause]

[HAVING clause]
[ORDER BY clause]
[COMPUTE clause]




Truy vấn cơ sở dữ liệu
Truy vấn cơ sở dữ liệu
Bài 3 / Slide
Bài 3 / Slide
10
10
of 25
of 25©NIIT
Các bước để truy vấn dữ liệu (tiếp theo)

Viết câu truy vấn:
SELECT vFirstName, vLastName, cCity, cPhone
FROM ExternalCandidate

Chạy câu lệnh truy vấn: demo trên SQL Server.

Kiểm tra lại kết quả.




Truy vấn cơ sở dữ liệu
Truy vấn cơ sở dữ liệu

Bài 3 / Slide
Bài 3 / Slide
11
11
of 25
of 25©NIIT
Hiển thị tên cột thân thiện

Ví dụ minh họa: Viết câu query hiển thị tên của nhà tuyển dụng
và mức phí để thuê nhà tuyển dụng này làm việc.

Kết quả của câu truy vấn này như sau:




Truy vấn cơ sở dữ liệu
Truy vấn cơ sở dữ liệu
Bài 3 / Slide
Bài 3 / Slide
12
12
of 25
of 25©NIIT
Hiển thị tên cột thân thiện

Trong yêu cầu trên, kết quả của câu truy vấn dữ liệu có hiển thị
tên cột của bảng ở dạng thân thiện với người dùng.

Có hai cách để hiển thị dữ liệu ở dạng thân thiện:


Cách 1:
SELECT column_heading=column_name[,column name…]
FROM table_name

Method 2:
SELECT column_name column_heading
[,column_name…]
FROM table_name




Truy vấn cơ sở dữ liệu
Truy vấn cơ sở dữ liệu
Bài 3 / Slide
Bài 3 / Slide
13
13
of 25
of 25©NIIT
Hiển thị tên cột thân thiện

Viết câu truy vấn yêu cầu theo hai cách đã học:

Cách 1:
SELECT 'Recruiter Name' = cName, 'Hire Charge' =
siPercentageCharge FROM ContractRecruiter

Method 2:

SELECT cName 'Recruiter Name', siPercentageCharge 'Hire
Charge' FROM ContractRecruiter

Demo câu truy vấn




Truy vấn cơ sở dữ liệu
Truy vấn cơ sở dữ liệu
Bài 3 / Slide
Bài 3 / Slide
14
14
of 25
of 25©NIIT
Hiển thị một số dòng trong bảng

Viết câu truy vấn hiển thị danh sách các trường Đại Học và Cao
Đẳng trong bang California.

Kết quả của câu truy dạng như sau:




Truy vấn cơ sở dữ liệu
Truy vấn cơ sở dữ liệu
Bài 3 / Slide
Bài 3 / Slide

15
15
of 25
of 25©NIIT
Hiển thị một số dòng trong bảng

Để giới hạn các dòng trả về trong SQL Server sử dụng câu lệnh
Select … From … Where. Câu lệnh này có cấu trúc như sau:
SELECT column_list
FROM table_name
WHERE search_condition

Trong đó chỉ có những dòng thỏa mãn điều kiện search_condition
thì mới được trả về.

Câu truy vấn được viết:
SELECT * FROM College
WHERE cState = 'California'

Demo câu truy vấn




Truy vấn cơ sở dữ liệu
Truy vấn cơ sở dữ liệu
Bài 3 / Slide
Bài 3 / Slide
16
16

of 25
of 25©NIIT
Các toán tử dùng trong mệnh đề Where

Trong SQL Server, điều kiện tìm kiếm trong mệnh đề WHERE có
thể dùng các toán tử như sau:

Toán tử quan hệ: >, <, >=, <= …

Toán tử luận lý: and, or, not.

Toán tử trong so sánh trong miền trị: between … and

Toán tử so sách phần tử với danh sách: in, exists, not in…




Truy vấn cơ sở dữ liệu
Truy vấn cơ sở dữ liệu
Bài 3 / Slide
Bài 3 / Slide
17
17
of 25
of 25©NIIT
Hiển thị các dòng thỏa mãn nhiều điều kiện

Viết câu truy vấn hiển thị danh sách các ứng viên có điểm thi nằm
trong khỏang 80 -100.


Kết quả của câu query có dạng:




Truy vấn cơ sở dữ liệu
Truy vấn cơ sở dữ liệu
Bài 3 / Slide
Bài 3 / Slide
18
18
of 25
of 25©NIIT
Hiển thị các dòng thỏa mãn nhiều điều kiện

Cú pháp của câu lệnh truy vấn có dùng tóan luận lý:
SELECT column_list
FROM table_name
WHERE conditional_expression{AND/OR} [NOT]
conditional_expression

Câu truy vấn theo yêu cầu được viết như sau:
SELECT vFirstName, vLastName, siTestScore
FROM ExternalCandidate
WHERE siTestScore >=80 AND siTestScore <=100

Demo câu query





Truy vấn cơ sở dữ liệu
Truy vấn cơ sở dữ liệu
Bài 3 / Slide
Bài 3 / Slide
19
19
of 25
of 25©NIIT
Toán tử quan hệ

Toán tử quan hệ được dùng trong mệnh đề Where theo cú pháp
như sau:
SELECT column_list FROM table_name
WHERE expression1 comparison_operator expression2

Ví dụ hiển thị mã các nhân viên có thu nhập hàng năm lớn hơn
40.000.
select cEmployeeCode
from AnnualSalary
where mAnnualSalary >40000




Truy vấn cơ sở dữ liệu
Truy vấn cơ sở dữ liệu
Bài 3 / Slide
Bài 3 / Slide

20
20
of 25
of 25©NIIT
Toán tử trong so sánh trong miền trị

Toán tử so sánh trong miền trị có hai toán tử: BETWEEN và NOT
BETWEEN.

Toán tử trong so sánh trong miền trị được dùng trong mệnh đề
Where theo cú pháp như sau:
SELECT column_list FROM table_name
WHERE expression1 range_operator expression2 AND expression3

Ví dụ hiển thị mã các nhân viên có thu nhập hàng năm trong khỏang
30.000 đến 40.000
select cEmployeeCode
from AnnualSalary
where mAnnualSalary between 30000 and 40000




Truy vấn cơ sở dữ liệu
Truy vấn cơ sở dữ liệu
Bài 3 / Slide
Bài 3 / Slide
21
21
of 25

of 25©NIIT
Toán tử trong so sánh phần tử với danh sách

Toán tử so sánh phần tử với danh sách có hai toán tử: IN và NOT
IN.

Toán tử so sánh phần tử với danh sách có cú pháp như sau:
SELECT column_list FROM table_name
WHERE expression list_operator (‘value_list‘)

Ví dụ: Hãy hiển thị thông tin các trường Đại học thuộc 2 bang New
York và Texas:
select * from college
where cState in ('New York', 'Texas')




Truy vấn cơ sở dữ liệu
Truy vấn cơ sở dữ liệu
Bài 3 / Slide
Bài 3 / Slide
22
22
of 25
of 25©NIIT
Sử dụng các hàm nhóm trong SQL

Yêu cầu: Viết câu truy vấn cho biết số lượng các báo đã từng
quảng cáo tuyển dụng cho công ty.


SQL hỗ trợ các hàm tương tác với một tập hợp các giá trị trả về
của một cột. Các hàm này được gọi là hàm nhóm.

Có một số các hàm nhóm như sau: AVG, SUM, COUNT, MAX,
MIN.

Câu truy vấn dùng hàm count:
SELECT 'No.Of Newspapers' = COUNT (cNewspaperCode)
FROM Newspaper




Truy vấn cơ sở dữ liệu
Truy vấn cơ sở dữ liệu
Bài 3 / Slide
Bài 3 / Slide
23
23
of 25
of 25©NIIT
Chia kết quả trả về thành nhóm

Yêu cầu: Viết câu truy vấn cho biết số lần quảng cáo trên mỗi tờ
báo?

SQL hỗ trợ chia kết quả ra làm nhiều nhóm nhỏ bằng mệnh đề
group by.


Mệnh đề group by được sử dụng như sau:
SELECT 'Newspaper Code' = cNewspaperCode,
'No. Of Advts. Placed' = COUNT(cNewspaperCode)
FROM NewsAd
GROUP BY cNewspaperCode




Truy vấn cơ sở dữ liệu
Truy vấn cơ sở dữ liệu
Bài 3 / Slide
Bài 3 / Slide
24
24
of 25
of 25©NIIT
Tóm tắt
Trong bài này bạn đã được học:

Các đặt điểm của mô hình client – server

Xác định dữ liệu vào của câu truy vấn

Lên kế hoạch và tạo định dạng cho kết quả của câu truy vấn

Dùng câu lệnh Select với tóan tử quan hệ

Dùng câu lệnh Select với tóan tử luận lý


Dùng câu lệnh Select với toán tử so sánh phần tử trong miền trị

Dùng câu lệnh Select với toán tử so sánh phần tử với danh sách

Dùng các hàm nhóm

Dùng mệnh đề group by




Truy vấn cơ sở dữ liệu
Truy vấn cơ sở dữ liệu
Bài 3 / Slide
Bài 3 / Slide
25
25
of 25
of 25©NIIT
Bài tập
1. Kết nối vào database GlobalToyz.
2. Hiển thị thông tin chi tiết của tất cả các đồ chơi trong bảng toys.
3. Hiển thị thông tin chi tiết của tất cả những người mua hàng.
4. Hiển thị tên, họ, và e-mail ID của tất cả người đi mua hàng.
5. Hiển thị tên và giá của tất cả các đồ chơi.
6. Hiển thị tên, địa chỉ, và mã vùng của tất cả những người nhận
đồ chơi
7. Hiển thị họ và tên của những người mua hàng sống ở California.
8. Hiển thị chi tiết các hóa đơn có giá trị lớn hơn 75$.
9. Hiển thị tên của đồ chơi thuộc thể loại dolls và có giá < 20$ (HD:

Dolls có mã là 002)

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×