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

Bài 5 Truy vấn nâng cao doc

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 (1.42 MB, 33 trang )


Chương 5
Truy vấn nâng cao

Database Design and Implementation with SQL
Server 2000 / Session 5 / 2 of 33
Ôn tập
Ôn lại về kiểu người dùng và quản lý bảo mật:

Quản lý đăng nhập

Quản lý người dùng

Các thủ tục hệ thống để đăng nhập và quản lý
người dùng

Gán và huỷ bỏ các quyền hạn

Database Design and Implementation with SQL
Server 2000 / Session 5 / 3 of 33
Mục tiêu

Tìm hiểu và thi hành các truy vấn con

Tìm hiểu cách sử dụng mệnh đề EXISTS

Tìm hiểu cách thi hành các truy vấn

Học cách sử dụng mệnh đề DISTINCT để
truy vấn


Tìm hiểu cách sử dụng COMPUTE BY

Truyền dữ liệu giữa các bảng bằng cách
sử dụng SELECT INTO

Database Design and Implementation with SQL
Server 2000 / Session 5 / 4 of 33
Truy vấn là gì?
SQL
Server
Truy
vấn
Dữ liệu trong
các bảng
Người sử
dụng
Khởi tạo
Đưa ra một câu
hỏi cần quan tâm
Trả lời câu hỏi –
Trả về tập hợp kết
quả
Xử lý bởi

Database Design and Implementation with SQL
Server 2000 / Session 5 / 5 of 33
Câu lệnh SELECT trong
truy vấn

Truy vấn trên nhiều hàng và cột


Có thể truy vấn trên nhiều bảng hoặc nhiều CSDL.

Xác định các cột yêu cầu trong truy vấn được chỉ
ra.

Các cột kết quả có cùng thứ tự trong truy vấn.

Database Design and Implementation with SQL
Server 2000 / Session 5 / 6 of 33
Truy vấn trên nhiều bảng

Database Design and Implementation with SQL
Server 2000 / Session 5 / 7 of 33
Các truy vấn con
Truy vấn cha
Truy vấn
con
Toán tử
Select <Column Name> From Table
WHERE <Column Name> =
Select <Column Name> From
<Table> WHERE <Column> =
<Criteria >
Truy vấn con : là một câu lệnh SELECT
lồng trong câu lệnh SELECT khác

Database Design and Implementation with SQL
Server 2000 / Session 5 / 8 of 33
Sử dụng EXISTS và NOT

EXISTS

Database Design and Implementation with SQL
Server 2000 / Session 5 / 9 of 33
Các truy vấn lồng nhau

Các truy vấn lồng nhau được truy vấn trong các truy vấn con
Ví dụ
Truy vấn
lồng 2 cấp

Database Design and Implementation with SQL
Server 2000 / Session 5 / 10 of 33
Sự liên quan giữa các truy
vấn con

Truy vấn con liên quan đến truy vấn cha

Truy vấn con định lại giá trị cho mọi lần lặp
trong trong truy vấn cha.
Ví dụ

Database Design and Implementation with SQL
Server 2000 / Session 5 / 11 of 33
Kết hợp

Toán tử kết hợp : Kết nối hai hoặc nhiều
câu lệnh SELECT vào
một tập hợp kết quả


Toán tử Union
SELECT statement

UNION [ALL]
SELECT statement

Mệnh đề ALL không loại bỏ được sự
trùng lặp dữ liệu

Database Design and Implementation with SQL
Server 2000 / Session 5 / 12 of 33
Các phép kết hợp…

Mỗi lệnh select phải có cấu trúc giống nhau

Kiểu dữ liệu trong các cột phải
tương thích với nhau và có
cùng số lượng cột
SELECT empno, ename, sal FROM emp
UNION
SELECT empno, ename, sal FROM ret_emp
Ví dụ:

Database Design and Implementation with SQL
Server 2000 / Session 5 / 13 of 33
Truy vấn trên tất
cả các hàng
Ví dụ

Database Design and Implementation with SQL

Server 2000 / Session 5 / 14 of 33
Dùng lệnh Select lựa chọn
các cột
Ví dụ

Database Design and Implementation with SQL
Server 2000 / Session 5 / 15 of 33
Sử dụng mệnh đề WHERE
với lệnh Select
Ví dụ
Mệnh đề WHERE trong truy vấn dùng để lọc bớt số lượng
hàng hiển thị trong truy vấn dựa trên điều kiện đã chỉ ra.
Cú pháp: SELECT <Column Name> FROM <table
Name> WHERE <Condition>

Database Design and Implementation with SQL
Server 2000 / Session 5 / 16 of 33
Các toán tử quan hệ và
mệnh đề WHERE
Chúng ta có thể sử dụng các loại điều kiện tìm kiếm
khác nhau và các toán tử so sánh trong mệnh đề
WHERE
. Bảng dưới đây liệt kê danh sách các toán tử so sánh
có thể sử dụng trong truy vấn.
Toán tử Ý nghĩa
= Bằng
> Lớn hơn
< Nhỏ hơn
>= Lớn hơn hoặc bằng
<= Nhỏ hơn hoặc bằng

Không bằng
<>
! Phủ định

Database Design and Implementation with SQL
Server 2000 / Session 5 / 17 of 33
Các ký tự đại diện
Ký tự đại
diện
Diễn giải Ví dụ
‘_’ Một ký tự đơn Select Branch_Code From Branch
Where Branch_Code Like ‘L__’
% Một chuỗi có độ dài bất kỳ Select Route_Code From
FlightSchedule Where Route_Code
Like ‘AMS-%’
[] Một ký tự đơn thuộc khoảng nằm
trong ngoặc
Select Airbusno From
FlightSchedule Where Airbusno
Like ‘AB0[1-5]’
[^] Bất kỳ một ký tự nào không thuộc
trong khoảng nằm trong ngoặc
Select Airbusno From
FlightSchedule Where Airbusno
Like ‘AB0[^1-5]’

Database Design and Implementation with SQL
Server 2000 / Session 5 / 18 of 33
Sử dụng các ký tự đại diện
với toán tử LIKE

Ví dụ

Database Design and Implementation with SQL
Server 2000 / Session 5 / 19 of 33
Sử dụng toán tử
logic phủ định (Not)
Ví dụ

Database Design and Implementation with SQL
Server 2000 / Session 5 / 20 of 33
Sử dụng toán tử logic AND
Ví dụ

Database Design and Implementation with SQL
Server 2000 / Session 5 / 21 of 33
Sử dụng toán tử logic OR
Ví dụ

Database Design and Implementation with SQL
Server 2000 / Session 5 / 22 of 33
Mệnh đề ORDER BY

Database Design and Implementation with SQL
Server 2000 / Session 5 / 23 of 33
Hiển thị dữ liệu được sắp xếp
với lệnh SELECT và mệnh đề
ORDER BY
Ví dụ

Database Design and Implementation with SQL

Server 2000 / Session 5 / 24 of 33
Mệnh đề DISTINCT

Database Design and Implementation with SQL
Server 2000 / Session 5 / 25 of 33
Sử dụng mệnh đề
DISTINCT
Mỗi kiểu (type)
được trả về là duy
nhất
Mỗi kiểu (type)
được trả về là duy
nhất
Ví dụ

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

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