Mệnh đề where

Một phần của tài liệu Đề cương bài giảng môn cơ sở dữ liệu (Trang 147 - 149)

1. Định nghĩa các thuật ngữ: cơ sở dữ liệu, hệ quản trị cơ sở dữ liệu, hệ cơ sở dữ

22.2.4. Mệnh đề where

Mệnh đềWHEREđược dùng để thiết lập điều kiện truy xuất.

Để truy xuất dữ liệu trong bảng theo các điều kiện nào đó, một mệnh đề WHERE có thể được thêm vào câu lệnh SELECT.

a) Cú pháp

Cú pháp mệnh đề WHERE trong câu lệnh SELECTnhư sau: SELECTtên_cột[,…]FROMtên_bảng[,…]

WHEREtên_cột phép_toángiá_trị[and/or …]

Trong mệnh đề WHERE, các phép toán được sử dụng là

Phép toán Mô tả = So sánh bằng <> So sánh không bằng > Lớn hơn < Nhỏ hơn >= Lớn hơn hoặc bằng <= Nhỏ hơn hoặc bằng

BETWEEN Nằm giữa một khoảng LIKE So sánh mẫu chuỗi

Lưuý: Trong một số phiên bản của SQL, phép toán <> có thể được viết dưới

dạng!=

b) Sử dụng mệnh đềWHERE

Để lấy danh sách những người sống ở thành phố Sandnes, ta sử dụng mệnh

đềWHERE trong câu lệnh SELECTnhư sau: SELECT*FROMPersons

WHERECity='Sandnes'

Bảng Persons:

LastName FirstName Address City Year

Hansen Ola Timoteivn 10 Sandnes 1951

Svendson Tove Borgvn 23 Sandnes 1978

Svendson Stale Kaivn 18 Sandnes 1980

Pettersen Kari Storgt 20 Stavanger 1960 Kết quả trả về:

LastName FirstName Address City Year

Hansen Ola Timoteivn 10 Sandnes 1951

Svendson Tove Borgvn 23 Sandnes 1978

Svendson Stale Kaivn 18 Sandnes 1980

c) Sửdụng dấu nháy

Lưu ý rằng ở ví dụ trên ta đã sử dụng hai dấu nháy đơn (') bao quanh giá trị điều kiện 'Sandnes'.

SQL sử dụng dấunháy đơnbao quanh các giá trị ở dạng chuỗi văn bản (text). Nhiều hệ CSDL còn cho phép sử dụng dấu nháy kép ("). Các giá trị ởdạng số không dùng dấu nháy để bao quanh.

Với dữ liệu dạng chuỗi văn bản: Câu lệnh đúng:

SELECT*FROMPersons WHEREFirstName='Tove'

Câu lệnh sai:

SELECT*FROMPersons WHEREFirstName=Tove Với dữ liệu dạng số:

Câu lệnh đúng:

SELECT*FROMPersons WHEREYear>1965

Câu lệnh sai:

d) Toán tử Like

Toán tử like được sử dụng trong trường hợp so sánh gần đúng, có thể sử dụng cáctoán tử đại diện(wildcard operators) trong bảng dưới đây

Wildcard Mô tả Ví dụ

‘_’ Một ký tự Select Ten_nv From

NHAN_VIEN Where ten_nv Like ‘C_’

% Nhiều ký tự Select Ten_nv From

NHAN_VIEN Where ten_nv Like ‘'AL%'’

[] Một ký tự thuộc khoảng đặt trong ngoặc vuông

Select Ten_nv From

NHAN_VIEN Where ten_nv Like 'Sem[a-e]'

[^] Một ký tự mà không thuộc khoảng đặt trong ngoặc vuông

Select Ten_nv From

NHAN_VIEN Where ten_nv Like 'Sem[^a-e]'

Một phần của tài liệu Đề cương bài giảng môn cơ sở dữ liệu (Trang 147 - 149)

Tải bản đầy đủ (PDF)

(161 trang)