post-image

Function trong MySQL

Tổng quan

NỘI DUNG BÀI VIẾT

Trong bài viết này, chúng ta hãy cùng nhau tìm hiểu những Function trong SQL và cách sử dụng các loại function này nhé.

+----+---------+---------+
| id | ho_ten  |MAX(diem)|
+----+---------+---------+
| 1  | Craig   |8        |
| 4  | Emma    |8        |
| 7  | Harry   |9        |
| 6  | James   |10       |
| 8  | John    |8        |
| 3  | Lee     |7        |
+----+---------+---------+

Hàm MIN trong MySQL Bạn cũng có thể sử dụng hàm MIN cùng với hàm MAX để tìm giá trị nhỏ nhất như sau:

SELECT MIN(diem) min, MAX(diem) max
FROM sinh_vien;

Kết quả:

+---------+----------+
|   min   |   max    |
+---------+----------+
|   7     |  10      |
+---------+----------+

4. AVG

Hàm AVG trong MySQL được sử dụng để tìm giá trị trung bình của một trường trong các bản ghi đa dạng. Bây giờ, dựa vào bảng trên, bạn muốn tính trung bình của tất cả các điểm trong cột diem bạn sử dụng lệnh sau:

SELECT AVG(diem)
FROM sinh_vien;

Kết quả:

+------------+
| AVG(diem)  |
+------------+
|   8.2500   |
+------------+

Bạn có thể lấy giá trị trung bình của các bản ghi đa dạng bởi sử dụng mệnh đề GROUP BY. Ví dụ sau lấy giá trị trung bình của tất cả bản ghi liên quan tới một sinh viên:

SELECT id, ho_ten, AVG(diem)
FROM sinh_vien GROUP BY ho_ten;

Kết quả:

+----+---------+---------+
| id | ho_ten  |MAX(diem)|
+----+---------+---------+
| 1  | Craig   |8.5000   |
| 4  | Emma    |8.0000   |
| 7  | Harry   |9.0000   |
| 6  | James   |10.0000  |
| 8  | John    |8.0000   |
| 3  | Lee     |7.0000   |
+----+---------+---------+

5. COUNT

Hàm COUNT trong MySQL là hàm đơn giản nhất và rất có ích trong việc đếm số bản ghi, được mong chờ để trả về từ một lệnh SELECT.

Mệnh đề GROUP BY trong MySQL Bạn muốn đếm tổng số hàng trong bảng này, ta có lệnh:

SELECT COUNT(*) FROM sinh_vien;

Kết quả

+---------------------------+
| COUNT(*)                  |
+---------------------------+
| 8                         |
+---------------------------+

Tương tự, nếu bạn muốn đếm tổng số bản ghi có diem bằng 9, ta thực hiện:

SELECT COUNT(*) FROM sinh_vien
WHERE diem = 9;

Kết quả

+----------+
| COUNT(*) |
+----------+
|        2 |
+----------+

6. IN Clause

Bạn có thể sử dụng mệnh đề IN để thay thế nhiều điều kiện OR Giả sử dựa trên bảng trên bạn muốn hiển thị các bản ghi với diem bằng 7, 9 và 10. Điều này có thể được thực hiện bằng các điều kiện OR như sau

SELECT id, ho_ten, mon_hoc, diem FROM sinh_vien 
WHERE diem = 7 OR diem = 9 OR diem = 10; 

Kết quả:

+----+---------+-------------------------+-------+
| id |  ho_ten |  mon_hoc                | diem  |
+----+---------+-------------------------+-------+
|  2 | Craig   | Toan Cao cap            |9      |
|  3 | Lee     | Kinh te vi mo           |7      |
|  5 | Lee     | Lap tring C#            |7      |
|  6 | James   | Toan hoc va giai thuat  |10     |
|  7 | Harry   | Mo hinh toan            |9      |
+----+---------+-------------------------+-------+

Tương tự có thể sử dụng mệnh đề IN như sau mà vẫn đạt được kết quả như vậy:

SELECT id, ho_ten, mon_hoc, diem FROM sinh_vien 
WHERE diem IN (7, 9, 10 );

Kết quả:

+----+---------+-------------------------+-------+
| id |  ho_ten |  mon_hoc                | diem  |
+----+---------+-------------------------+-------+
|  2 | Craig   | Toan Cao cap            |9      |
|  3 | Lee     | Kinh te vi mo           |7      |
|  5 | Lee     | Lap tring C#            |7      |
|  6 | James   | Toan hoc va giai thuat  |10     |
|  7 | Harry   | Mo hinh toan            |9      |
+----+---------+-------------------------+-------+

7. BETWEEN Clause

Bạn có thể sử dụng BETWEEN để thay thế một sự kết hợp của điều kiện “lớn hơn hoặc bằng VÀ bé hơn hoặc bằng”.

Giả sử dựa theo bảng sinh_vien, bạn muốn tìm thông tin sinh viên có điểm thi từ 7 đến 8 điểm. Điều này có thể được thực hiện bằng cách sử dụng >= và <= điều kiện như sau:

SELECT * FROM sinh_vien 
WHERE diem >= 7 AND diem <= 8;
+----+---------+-------------------------+-------+
| id |  ho_ten |  mon_hoc                | diem  |
+----+---------+-------------------------+-------+
|  1 | Craig   | Quan tri doanh nghiep   |8      |
|  3 | Lee     | Kinh te vi mo           |7      |
|  4 | Emma    | Lap trinh C             |8      |
|  5 | Lee     | Lap tring C#            |7      |
|  8 | John    | Tu tuong Mac-Lenin      |8      |
+----+---------+-------------------------+-------+

Ta sử dụng BETWEEN:

SELECT * FROM sinh_vien 
WHERE diem BETWEEN 7 AND 8; 

Và kết quả cũng trả về như vậy:

+----+---------+-------------------------+-------+
| id |  ho_ten |  mon_hoc                | diem  |
+----+---------+-------------------------+-------+
|  1 | Craig   | Quan tri doanh nghiep   |8      |
|  3 | Lee     | Kinh te vi mo           |7      |
|  4 | Emma    | Lap trinh C             |8      |
|  5 | Lee     | Lap tring C#            |7      |
|  8 | John    | Tu tuong Mac-Lenin      |8      |
+----+---------+-------------------------+-------+

Nguồn: https://viblo.asia/p/cac-function-trong-mysql-phan-1-yMnKMnODZ7P

Leave a Reply

Your email address will not be published.