[Bài đọc] Các hàm thông dụng của SQL

Tổng quan

Trong các phần sau đây, chúng ta sẽ sử dụng bảng products có cấu trúc như trong hình để minh hoạ cho các ví dụ sử dụng các hàm thông dụng trong SQL.

1. Hàm AVG()

Hàm AVG() trả về giá trị trung bình của một cột kiểu số.

SELECT AVG(column_name)
FROM table_name
WHERE condition;

Trong đó: 

  • column_name là tên của cột muốn tính giá trị trung bình.
  • table_name là tên của bảng
  • condition là biểu thức điều kiện

Ví dụ: Tính giá trung bình cho tất cả các sản phẩm:

select avg(buyPrice) from products

Kết quả trả về:

2. Hàm COUNT()

Hàm COUNT() trả về số lượng bản ghi thoả mãn điền kiện đưa ra.

SELECT COUNT(column_name)
FROM table_name
WHERE condition;

Ví dụ: Đếm số sản phẩm hiện đang có

select count(productcode) from products

3. Hàm MAX()

Hàm MAX() trả về giá trị lớn nhất trong một cột và thoả mãn điều kiện đưa ra.

SELECT MAX(column_name)
FROM table_name
WHERE condition;

Ví dụ: Tìm sản phẩm có giá lớn nhất:

select max(buyprice) from products

4. Hàm MIN()

Hàm MIN() trả về giá trị nhỏ nhất trong một cột và thoả mãn điều kiện đưa ra.

SELECT MIN(column_name)
FROM table_name
WHERE condition;

Ví dụ: Tìm sản phẩm có giá nhỏ nhất:

select min(buyprice) from products

5. Hàm SUM()

Hàm SUM() trả về tổng giá trị của một cột kiểu số.

SELECT SUM(column_name)
FROM table_name
WHERE condition;

Ví dụ: Tính tổng số lượng sản phẩm:

select sum(quantityInStock) from products

Ví dụ: Tính tổng số lượng sản phẩm thuộc loại Motorcycles

select sum(quantityInStock) from products where productline = 'Motorcycles'

6. Hàm UCASE()

Hàm UCASE() chuyển giá trị của một trường sang chữ viết hoa.

SELECT UCASE(column_name) FROM table_name;

Ví dụ: Chuyển tất cả tên sản phẩm thành chữ hoa:

select ucase(productName) from products

7. Hàm LCASE()

Hàm LCASE() chuyển giá trị của một trường sang chữ viết thường.

SELECT LCASE(column_name) FROM table_name;

Ví dụ: Chuyển tất cả tên sản phẩm thành chữ thường:

select lcase(productName) from products

8. Hàm LEN()

Hàm LEN() trả về độ dài của chuỗi (số lượng ký tự) của một giá trị trong cột kiểu chuỗi.

SELECT LEN(column_name) FROM table_name;

Ví dụ: Trả lại số ký tự của tên sản phẩm có mã sản phẩm là S10_1678:

select len(productname) from products where productcode = 'S10_1678'

9. Hàm NOW()

Hàm NOW() trả về ngày tháng và thời gian hiện tại.

SELECT NOW() FROM table_name;

10. Mệnh đề GROUP BY

Mệnh đề GROUP BY thường được sử dụng cùng với các hàm như COUNT(), MAX(), MIN(), SUM(), AVG() để tách thành các nhóm con theo một cột (hoặc nhiều cột).

SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
ORDER BY column_name(s);

Ví dụ: Hiển thị nhà cung cấp và số lượng sản phẩm được cung cấp bởi từng nhà cung cấp, sắp xếp theo thứ tự tăng dần nhà cung cấp, cho tất cả các hãng Motorcyrcles:

select productVendor, count(productcode) from product
where productline = 'Motorcycles'group by productVendor
order by productVendor

11. Mệnh đề HAVING

Mệnh đề HAVING có chức năng lọc dữ liệu như mệnh đề WHERE nhưng sử dụng cùng với các hàm SQL.

SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
HAVING condition
ORDER BY column_name(s);

Ví dụ: Hiển thị nhà cung cấp và số lượng sản phẩm lớn hơn 10 được cung cấp bởi từng nhà cung cấp, sắp xếp theo thứ tự tăng dần nhà cung cấp, cho tất cả các hãng Motorcyrcles: 

select productVendor, count(productcode) from product
where productline = 'Motorcycles'group by productVendorhaving count(productCode) > 10
order by productVendor

Leave a Reply

Your email address will not be published. Required fields are marked *