SQL (Structured Query Language) là ngôn ngữ tiêu chuẩn để quản lý và thao tác cơ sở dữ liệu. Câu lệnh “Select” là một trong những câu lệnh cơ bản và quan trọng nhất trong SQL, giúp truy vấn và lấy dữ liệu từ các bảng trong cơ sở dữ liệu.
1. Làm quen với câu lệnh SELECT
Cú pháp câu lệnh SELECT:
SELECT <tên cột | biểu thức> [ ,…] [ FROM <tên bảng> [ ,…] ] [ WHERE <điều kiện logic trên dòng / bộ> ] [GROUP BY <các thuộc tính gom nhóm> ] [HAVING <điều kiện logic gom nhóm> ] [ ORDER BY <các thuộc tính sắp xếp> ]
Ví dụ: Liệt kê họ tên và địa chỉ của tất các các phi công từ bảng PHICONG (xem lại CSDL mẫu của phần trước)
Thứ tự các thuộc tính theo sau SELECT xác định thứ tự hiển thị của các cột trong bảng kết quả.
Và với câu lệnh SELECT chúng ta có thể đặt lại tên của các thuộc tính – Việc đặt lại tên này không ảnh hưởng gì đến bảng đượcc truy vấn, vì kết quả ta nhận được là một bảng mới dựa trên bảng được truy vấn này.
1.1. SELECT … AS
AS được dùng để đặt lại tên thuộc tính hoặc bí danh cho bảng – ta kết hợp SELECT với từ khoá AS như sau:
-
- #1: Đặt lại thuộc tính (tên cột) cho bảng kết quả:
SELECT hoten AS hoten_phicong, dchi AS diachi_phicong
FROM PHICONG ;
-
- #2: Đặt bí danh tạm thời để rút ngắn câu lệnh truy vấn:
FROM PHICONG AS p;
- #3: AS là tuỳ chọn có thể bỏ qua, có nghĩa là ta có thể rút ngắn câu lệnh hơn nữa:
Nếu cùng thực thi trong MS – SQL Server thì cả #1, #2 và #3 đều cho ra kết quả như nhau.
1.2. SELECT *
Dùng để thể hiện thị tất cả dữ liệu của một bảng bất kỳ
Cú pháp: SELECT * FROM <tên bảng>
1.3. SELECT DISTINCT
Giả sử trong trường hợp có nhiều dòng dữ liệu trùng nhau gây khó khăn cho việc kiểm tra. Ta có thể dùng SELECT DISTINCT để loại bỏ các dòng bị trùng và chỉ giữ lại một.
Cú pháp: SELECT DISTINCT <tên cột> FROM <tên bảng>
2. Các mệnh đề và Toán tử phổ biến với SELECT
Chúng ta có rất nhiều cách sử dụng SELECT để lấy ra đúng các bản ghi mong muốn bằng cách sử dụng thêm các mệnh đề và toán tử.
2.1. Mệnh đề WHERE
WHERE là một mệnh đề tuỳ chọn, được dùng để chỉ ra một tập các điều kiện chọn -> những bộ nào thỏa mãn các điều kiện sẽ là các bộ trong bảng kết quả.
Điều kiện chọn:
SELECT hoten
2.2. Toán tử IN
Mệnh đề IN cho phép chỉ ra nhiều giá trị trong mệnh đề WHERE
Cú pháp:
SELECT <tên cột> [ ,…]
FROM <tên bảng>
WHERE <tên cột> IN (giá trị 1, giá trị 2, …, giá trị n);
SELECT hoten
2.3. Toán tử BETWEEN
Toán tử BETWEEN cho phép chọn một giá trị trong một giới hạn. Giá trị có thể là số, chuỗi hoặc ngày
Cú pháp:
SELECT <tên cột> [ ,…]
FROM <tên bảng>
WHERE <tên cột> BETWEEN <giá trị 1> AND <giá trị 2>;
SELECT *
2.4. Toán tử LIKE
Toán tử LIKE được sử dụng trong mệnh đề WHERE để tìm một mẫu cụ thể trong một cột.
SELECT <tên cột> [ ,…]
FROM <tên bảng>
WHERE <tên cột> LIKE <mẫu>;
Các dạng của mẫu:
- %: Không hoặc nhiều ký tự
- -: Một ký tự duy nhất
- [ Danh sách các ký tự ]: Tập hợp các ký tự cùng so khớp
- [^ Danh sách các ký tự ]: Chỉ khớp với một ký tự nằm trong [ ]
SELECT hoten
SELECT hoten
SELECT hoten
SELECT hoten
SELECT hoten
SELECT hoten
Ví dụ: Tìm tên phi công bắt đầu bằng chữ S và kết thúc bằng chữ t
SELECT hoten
SELECT hoten
2.5. Giá trị NULL
Trong một dòng dữ liệu, một vài thuộc tính có thể nhận giá trị NULL. Giá trị NULL có thể là:
- Giá trị không rõ
- Giá trị không tồn tại
Các kết quả của bất kỳ biểu thức số học với giá trị NULL sẽ là NULL (Ví dụ: 5 + NULL -> NULL). Để kiểm tra giá trị NULL dùng toán tử IS NULL hoặc IS NOT NULL.
SELECT hoten
3. Các phép toán số học và hàm thường kết hợp với SELECT
Một số phép toán hoặc hàm thường không sử dụng đơn lẻ mà được tích hợp khi sử dụng mệnh đề SELECT, WHERE và HAVING.
Các toán tử số học: +, -, *, /
SELECT COUNT(*) AS SOCT_ANH
WHERE nuoc = ‘Anh’;
Ví dụ: Tính tuổi trung bình của các phi công sống tại Pháp
SELECT AVG(AGE) AS TUOI_TB
Kết luận
Câu lệnh “Select” trong SQL là công cụ mạnh mẽ để truy vấn dữ liệu. Việc hiểu rõ và sử dụng thành thạo các tùy chọn truy vấn sẽ giúp bạn làm việc hiệu quả hơn với cơ sở dữ liệu.
Xem thêm