Trong SQL, việc lồng nhiều hàm với nhau là một kỹ thuật quan trọng giúp bạn thực hiện các thao tác phức tạp trên dữ liệu. Bạn có thể kết hợp nhiều hàm toán học, chuỗi, ngày tháng và các hàm tổng hợp để tạo ra các truy vấn mạnh mẽ và hiệu quả.
Nesting multiple functions – Các hàm lồng nhau trong SQL
Ví dụ về việc lồng nhiều hàm với nhau
1. Sử dụng các hàm chuỗi
Giả sử bạn có một cột chứa tên đầy đủ của nhân viên và bạn muốn lấy chữ cái đầu tiên của tên và họ của mỗi nhân viên.
SELECT UPPER(SUBSTR(first_name, 1, 1)) || UPPER(SUBSTR(last_name, 1, 1)) AS initials FROM Employees;
Trong ví dụ này:
- SUBSTR(first_name, 1, 1) lấy ký tự đầu tiên của first_name.
- UPPER(SUBSTR(first_name, 1, 1)) chuyển ký tự đầu tiên thành chữ hoa.
- SUBSTR(last_name, 1, 1) lấy ký tự đầu tiên của last_name.
- UPPER(SUBSTR(last_name, 1, 1)) chuyển ký tự đầu tiên thành chữ hoa.
- || là toán tử nối chuỗi trong SQL.
2. Sử dụng các hàm ngày tháng
Giả sử bạn muốn tính số năm làm việc của nhân viên tính đến ngày hiện tại.
SELECT first_name, last_name, ROUND((SYSDATE - hire_date) / 365) AS years_of_service FROM Employees;
Trong ví dụ này:
- SYSDATE trả về ngày hiện tại.
- SYSDATE – hire_date tính số ngày kể từ khi nhân viên được thuê.
- (SYSDATE – hire_date) / 365 chuyển đổi số ngày thành số năm.
- ROUND làm tròn số năm đến số nguyên gần nhất.
3. Sử dụng các hàm tổng hợp và phân tích
Giả sử bạn muốn tính lương trung bình của mỗi bộ phận và sau đó tìm ra các bộ phận có lương trung bình cao hơn mức lương trung bình toàn công ty.
SELECT department_id, avg_salary FROM ( SELECT department_id, AVG(salary) OVER (PARTITION BY department_id) AS avg_salary FROM Employees ) dept_avg WHERE avg_salary > ( SELECT AVG(salary) FROM Employees );
Trong ví dụ này:
- AVG(salary) OVER (PARTITION BY department_id) tính lương trung bình cho mỗi bộ phận.
- Subquery đầu tiên tạo một bảng tạm thời dept_avg chứa department_id và avg_salary.
- Subquery thứ hai tính lương trung bình toàn công ty.
- WHERE avg_salary > (SELECT AVG(salary) FROM Employees) lọc ra các bộ phận có lương trung bình cao hơn lương trung bình toàn công ty.
Tóm lại:
Việc lồng nhiều hàm với nhau trong SQL cho phép bạn thực hiện các thao tác phức tạp và mạnh mẽ trên dữ liệu của mình. Bạn có thể sử dụng các hàm chuỗi, hàm ngày tháng, hàm tổng hợp và các hàm phân tích để tạo ra các truy vấn phù hợp với nhu cầu của mình. Hãy đảm bảo rằng bạn hiểu rõ cách từng hàm hoạt động và cách chúng kết hợp với nhau để đảm bảo kết quả chính xác và hiệu quả.
- Quản trị Oracle database với Oracle Enterprise Manager Database Express (EM Express)
- Using The MINUS operator – Sử dụng toán tử MINUS trong SQL
- Q7. Which three capabilities require the use of the RMAN recovery catalog?
- Q81 Examine the description of the product_details table
- Lightning Network trong mạng Bitcoin là gì?

eForm Pro
WP MAPS PRO
CSS3 Compare Pricing Tables
WooCommerce Group Coupons
WooCommerce Custom Fields
Gravity Forms Signature Addon
FS Poster pro
Image Map Pro
Fodis - Restaurant & Cafe WordPress Theme
Good Food - Recipe Magazine & Culinary Blog Theme
Gloreya - Food Ordering & Delivery Restaurant WordPress Theme
Real3D FlipBook & PDF Viewer
Gravity Forms Paypal Payments Pro Addon
Basilico – Restaurant & Cafe WordPress Theme
WooCommerce Australia Post Shipping Method
WooCommerce Help Scout
WooCommerce Paymill Gateway