RSS

MySQL: Mệnh đề WHERE

06 May

Mệnh đề WHERE được dùng để thiết lập điều kiện truy xuất.
Mệnh đề WHERE
Để 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.

Cú pháp

Cú pháp mệnh đề WHERE trong câu lệnh SELECT như sau:

SELECT tên_cột FROM tên_bảng
WHERE tên_cột phép_toán giá_trị

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 !=

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 SELECT như sau:

SELECT * FROM Persons
WHERE City = '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

SQL sử dụng dấu nháy đơn bao 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 * FROM Persons WHERE FirstName = 'Tove'

Câu lệnh sai:
SELECT * FROM Persons WHERE FirstName = Tove

Với dữ liệu dạng số:

Câu lệnh đúng:
SELECT * FROM Persons WHERE Year > 1965

Câu lệnh sai:
SELECT * FROM Persons WHERE Year > '1965'

Phép toán điều kiện LIKE

Phép toán LIKE được dùng để tìm kiếm một chuỗi mẫu văn bản trên một cột.

Cú pháp

Cú pháp của phép toán LIKE như sau:

SELECT tên_cột FROM tên_bảng
WHERE tên_cột LIKE mẫu

Một ký hiệu % có thể được sử dụng để định nghĩa các ký tự đại diện. % có thể được đặt trước và/hoặc sau mẫu.

Sử dụng LIKE

Câu lệnh SQL sau sẽ trả về danh sách những người có tên bắt đầu bằng chữ O:

SELECT * FROM Persons
WHERE FirstName LIKE 'O%'

Câu lệnh SQL sau sẽ trả về danh sách những người có tên kết thúc bằng chữ a:

SELECT * FROM Persons
WHERE FirstName LIKE '%a'

Câu lệnh SQL sau sẽ trả về danh sách những người có tên kết chứa chuỗi la:

SELECT * FROM Persons
WHERE FirstName LIKE '%la%'

 
Leave a comment

Posted by on 06/05/2008 in MySQL

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: