Lệnh SELECT trong MariaDB

Nếu như những bài viết trước mình đã giới thiệu về MariaDB là gì, hướng dẫn cài đặt MariaDB, so sánh MariaDB với MySQL… Trong nội dung bài viết này mình sẽ trình bày câu lệnh SELECT trong MariaDB mà bạn nên ghi nhớ để truy xuất dữ liệu từ các bảng hoặc nhiều bảng

Trong nội dung bài viết này mình sẽ giúp các bạn tìm hiểu về lệnh SELECT trong MariaDB, cách sử dụng lệnh để lấy dữ liệu kết hợp lệnh SELECT với mệnh đề WHERE, ORDER BY, GROUP BY, LIMIT…

1. Lệnh SELECT trong MariaDB

– Lệnh SELECT trong MariaDB được sử dụng để lấy các hàng được chọn từ một hoặc nhiều bảng.

– Lệnh SELECT trong MariaDB có thể kết hợp với các câu lệnh phụ như JOIN, GROUP BY…

2. Cú pháp lệnh SELECT trong MariaDB (MariaDB Syntax SELECT)

– Cú pháp lệnh SELECT trong MariaDB (MariaDB Syntax SELECT) được mô tả như sau:

Trong đó:

SELECT: bắt đầu bằng câu lệnh SELECT, tiếp sau là các thuộc tính trong bảng bạn muốn trả về.

FROM: xác định bảng cần lấy dữ liệu.

WHERE: điều kiện để lấy truy vấn dữ liệu.

ORDER BY: sắp xếp dữ liệu sau khi truy vấn có thể sắp xếp theo kiểu ASC (tăng dần) hoặc DESC (giảm dần).

LIMIT: cho phép trả về kết quả với số hàng nhất định.

GROUP BY: giúp nhóm các hàng với nhau khi chúng có các cột hoặc các giá trị được tính chung.

DISTINCT: nếu như bạn muốn dữ liệu kết quả trả về là duy nhất không bị trùng nhau.

INTO: gán kết quả vào một tệp hoặc biến.

– Hoặc cú pháp lệnh SELECT trong MariaDB có thể được viết ngắn gọn lại như sau:

3. Ví dụ sử dụng lệnh SELECT trong MariaDB

– Sau đây mình sẽ làm ví dụ sử dụng lệnh SELECT trong MariaDB kết hợp WHERE, ORDER BY, LIMIT, JOIN…

– Ở ví dụ này mình sẽ tạo 2 bảng học sinh và lớp học như sau:

– Bạn có thể sử dụng đoạn mã SQL sau để chạy tạo ra bảng như trên, sau đó thêm một vài dữ liệu mẫu vào các bảng:

– Dữ liệu mẫu 2 bảng học sinh và lớp học mình đã thêm:

3.1 Lệnh SELECT

– Bây giờ mình sử dụng lệnh SELECT lấy tất cả danh sách từ bảng học sinh, cú pháp như sau:

– Kết quả sau khi chạy đoạn mã trên:

3.2 Lệnh SELECT với điều kiện WHERE

– Bây giờ mình sử dụng lệnh SELECT lấy danh sách từ bảng học sinh với thêm điều kiện WHERE là chỉ lấy học sinh nam, cú pháp như sau:

– Kết quả sau khi chạy đoạn mã trên:

– Bây giờ mình sử dụng lệnh SELECT lấy danh sách từ bảng học sinh với thêm điều kiện WHERE là chỉ lấy học sinh nam và thêm một điều kiện nữa là mã lớp học, cú pháp như sau:

– Kết quả sau khi chạy đoạn mã trên:

– Vậy nếu mình muốn lấy danh sách từ bảng học sinh với thêm điều kiện WHERE là chỉ lấy học sinh nam và thêm một điều kiện nữa là thay vì tham số là mã lớp học thì mình muốn tìm theo tên lớp học thì câu lệnh như thế nào, cú pháp như sau:

– Kết quả sau khi chạy đoạn mã trên:

3.3 Lệnh SELECT với DISTINCT

– DISTINCT giúp trả về kết quả là duy nhất không bị trùng nhau, chẳng hạn trong bảng học sinh thì trường địa chỉ có thể là trùng nhau, bây giờ mình muốn lấy danh sách tất cả địa chỉ trong bảng học sinh, cú pháp như sau:

– Kết quả sau khi chạy đoạn mã trên:

3.4 Lệnh SELECT với ORDER BY, LIMIT

– ORDER BY giúp sắp xếp dữ liệu sau khi truy vấn theo kiểu ASC (tăng dần) hoặc DESC (giảm dần). Bây giờ mình sử dụng lệnh SELECT lấy danh sách từ bảng học sinh và muốn sắp xếp theo ngày sinh giảm dần, cú pháp như sau:

– Kết quả sau khi chạy đoạn mã trên:

– LIMIT cho phép trả về kết quả với số hàng nhất định. Bây giờ mình sử dụng lệnh SELECT lấy danh sách từ bảng học sinh và muốn lấy 3 học sinh tuổi nhỏ nhất, cú pháp như sau:

– Kết quả sau khi chạy đoạn mã trên:

3.5 Lệnh SELECT với GROUP BY

– GROUP BY giúp nhóm các hàng với nhau khi chúng có các cột hoặc các giá trị được tính chung. Bây giờ mình sẽ làm ví dụ sử dụng lệnh GROUP BY bằng cách tính tổng số học sinh dựa theo địa chỉ.

– Kết quả sau khi chạy đoạn mã trên:

– Mình sử dụng AS để muốn gán count(dia_chi) thanh tong_so_hoc_sinh

Lời kết: Như vậy mình vừa trình bày về lệnh SELECT trong MariaDB cũng như một số ví dụ mẫu về sử dụng lệnh SELECT trong MariaDB. Ngoài ra để tìm hiểu thêm về MariaDB bạn có thể xem thêm một số bài viết trong chuyên mục MariaDB.

(Tác giả: Tùng Dương)

Bình luận

Loading...