Bài toán chứng minh hàm thành viên sql

Dữ liệu được sử dụng để thực hiện phân tích và thống kê là công việc ngày càng phổ biến. Các hàm COUNT, AVG hay SUM là những cái tên quá đổi quen thuộc và cũng nói lên chức năng của hàm.

1. Công dụng và cú pháp

Hàm COUNT() trả về số lượng dòng phù hợp với một tiêu chí được chỉ định.

  • Cú pháp:

SELECT COUNT tên cột

FROM tên bảng

WHERE điều kiện;

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

  • Cú pháp:

SELECT AVG tên cột

FROM tên bảng

WHERE điều kiện;

Hàm SUM() trả về tổng của một cột số.

  • Cú pháp:

SELECT SUM tên cột

FROM tên bảng

WHERE điều kiện;

2. Ví dụ

Để thực hiện ví dụ này, bạn cần nhập cơ sở dữ liệu mẫu Northwind vào SQL Server Management Studio. Hãy xem bài viết hướng dẫn ngay dưới đây:

Tham khảo: Hướng dẫn tải và cài đặt dữ liệu mẫu Northwind trong SQL Server Management Studio

Lưu ý: Cả 3 hàm khi thực thi đều không tính giá trị NULL

Câu lệnh dưới đây sẽ đếm số lượng sản phẩm trong bảng Products.

SELECT COUNT(ProductID) FROM Products;

Câu lệnh dưới đây sẽ tính giá trung bình của tất cả sản phẩm.

SELECT AVG(UnitPrice) FROM Products;

Câu lệnh dưới đây sẽ tính tổng của trường số lượng trong bảng chi tiết đơn hàng.

SELECT SUM(Quantity) FROM [Order Details];

Nhìn chung, cả ba hàm đều có cú pháp khá đơn giản, bạn hãy thực hành nhiều để ghi nhớ. Lưu ý khi sử dụng các hàm này có thể xảy ra lỗi do kiểu dữ liệu không phù hợp để thực hiện các phép tính. Mong rằng những kiến thức trên sẽ hữu ích với bạn đọc, đừng quên đón xem các nội dung mới nhất sẽ được cập nhật thường xuyên tại website bacs.vn.

Nguồn tham khảo:

https://www.w3schools.com/

Nhu cầu đào tạo doanh nghiệp

BAC là đơn vị đào tạo BA đầu tiên tại Việt Nam. Đối tác chính thức của IIBA quốc tế. Ngoài các khóa học public, BAC còn có các khóa học in house dành riêng cho từng doanh nghiệp. Chương trình được thiết kế riêng theo yêu cầu của doanh nghiệp, giúp doanh nghiệp giải quyết những khó khăn và tư vấn phát triển.

Tham khảo chương trình đào tạo:

Click để đọc tiếp

  • Bài toán chứng minh hàm thành viên sql
    Những ngôn ngữ lập trình hữu ích cho các nhà phân tích nghiệp vụ
    Các chuyên viên phân tích nghiệp vụ thường xuyên tiếp xúc với các bảng tính và thuyết trình. Tuy nhiên, các hoạt động phân tích hiện nay cũng trở nên phức tạp như phân tích dữ liệu và các luồng dữ liệu phức tạp thì các Business Analyst nên trang bị những ngôn ngữ lập trình để thuận lợi phát triển sự nghiệp.
    Bài toán chứng minh hàm thành viên sql
3 công cụ Business Analyst thường xuyên sử dụng

Trong bài viết sau, chúng ta sẽ tìm hiểu về 3 công cụ Business Analyst thường xuyên sử dụng: Process Modelling, Use Cases và Requirements Attributes Table. Cùng BAC tìm hiểu sâu hơn chủ đề này với cách tiếp cận tốt nhất từ nguồn tài liệu BABOK Guide nhé.

Truy vấn dữ liệu trong sql là thao tác trích xuất thông tin được lưu trữ trong các table. Thông tin được truy xuất thông qua các cột và thông tin cần trích xuất có thể thuộc một hoặc nhiều bảng.

Thao tác này được sử dụng rất nhiều trong các hệ thống phần mềm hoặc website, chẳng hạn khi các bạn đăng nhập vào facebook thì hệ thống sẽ thực hiện truy vấn dữ liệu để kiểm tra tích hợp lệ của tài khoản đăng nhập, ….

SQL viết tắt của Structured Query Language, là ngôn ngữ truy vấn có cấu trúc. SQL cho phép chúng ta tạo cơ sở dữ liệu, thao tác trên dữ liệu như lưu trữ dữ liệu, sửa dữ liệu hoặc xóa dữ liệu hoặc truy vấn dữ liệu.

Đa số các hệ quản trị cơ sở dữ liệu hiện nay sử dụng SQL (MS SQL Server – T- SQL, Microsoft Access, Oracle – PL/SQL, DB2, MySQL…)

Truy vấn dữ liệu trong sql – SQL có thể chia thành 4 nhóm

Nhóm truy vấn dữ liệu (DQL): gồm các lệnh truy vấn lựa chọn (Select) để lấy thông tin nhưng không làm thay đổi dữ liệu trong các bảng

Nhóm định nghĩa dữ liệu (DDL): Gồm các lệnh tạo, thay đổi các bảng dữ liệu (Create, Drop, Alter, …)

Nhóm thao tác dữ liệu (DML): Gồm các lệnh làm thay đổi dữ liệu lưu trong các bảng (Insert, Delete, Update,…)

Nhóm điều khiển dữ liệu (DCL): Gồm các lệnh quản lý quyền truy nhập vào dữ liệu và các bảng (Grant, Revoke, …)

Ngôn ngữ truy vấn dữ liệu (DQL-Data Query Language)

Bao gồm các lệnh cho phép truy vấn dữ liệu mà không làm thay đổi dữ liệu hoặc các đối tượng trong CSDL. Đó là các truy vấn bắt đầu bằng từ khóa SELECT. Trả về một bộ các thuộc tính hoặc một tập hợp các bộ thuộc tính.

Truy vấn dữ liệu trong sql – Cú pháp câu lệnh SELECT

SELECT [DISTINCT] Column(s)
[FROM TableName, Views]
[WHERE Conditions]
[GROUP BY Row(s)]
[HAVING]
[ORDER BY Column(s) [asc|desc]]

Lưu ý:

  • Các mệnh đề trong cặp dấu [] không bắt buộc
  • DISTINCT có thể là:
    • Distinct: trả về các bản ghi không trùng lặp nhau hoặc
    • Top: trả về n (hay %) bản ghi tìm thấy từ trên xuống
  • Mệnh đề WHERE cho phép truy vấn lựa chọn theo hàng
  • Mệnh đề GROUP BY cho phép nhóm dữ liệu theo hàng
  • Mệnh đề HAVING cho phép truy vấn lựa chọn theo nhóm
  • Mệnh đề ORDER BY cho phép sắp xếp dữ liệu theo cột

Truy vấn dữ liệu trong sql – Truy vấn lựa chọn tất cả các hàng và cột

SELECT * FROM  TableName

Truy vấn dữ liệu trong sql – Truy vấn lựa chọn một số cột

SELECT  Column1, Column2 … FROM  TableName

Ví dụ truy vấn lựa chọn tất cả các cột của bảng EMP

SELECT * FROM EMP

Bài toán chứng minh hàm thành viên sql

Truy vấn dữ liệu trong sql – Mệnh đề WHERE

SELECT [DISTINCT] Column(s)
FROM TableName
WHERE  Conditions

Một số toán tử (Operator) sử dụng trong biểu thức Conditions: Toán tử so sánh, toán tử lôgíc và so sánh xâu dùng toán tử LIKE

Các toán tử so sánh

\=So sánh bằng<> hoặc !=Khác>Lớn hơn=Lớn hơn hoặc bằng<=Nhỏ hơn hoặc bằngBETWEEN value1 AND value2So sánh nằm trong khoảng value1 và value2LIKESo sánh chuỗi tương đối

Ví dụ hiển thị thông tin nhân viên có lương bằng 800

SELECT EMPNO, ENAME, JOB, SAL, DEPTNO FROM EMP WHERE SAL = 800

Bài toán chứng minh hàm thành viên sql

Truy vấn dữ liệu trong sql – Toán tử LIKE

Cho phép so sánh một chuỗi với chuỗi khác (có chứa các ký tự đại diện) sử dụng toán tử LIKE. Các ký tự đại diện (Wildcard):

Ký tựMô tả_Thay cho một ký tự đơn%Thay cho một chuỗi[]Thay cho một ký tự đơn trong khoảng được bao bởi cặp dấu ngoặc vuông[^]Thay cho một ký tự đơn bất kỳ không nằm trong khoảng được bao bởi cặp dấu ngoặc vuông

Ví dụ sử dụng ký tự _

SELECT * FROM EMP WHERE ENAME LIKE 'A__'

Bài toán chứng minh hàm thành viên sql

Ví dụ sử dụng ký tự %

SELECT * FROM EMP WHERE JOB LIKE '%LE%'

Bài toán chứng minh hàm thành viên sql

Truy vấn dữ liệu trong sql – Mệnh đề ORDER BY

Cho phép sắp xếp kết quả truy vấn theo cột và có thể sắp xếp kết quả theo chiều: Tăng dần (asc) hoặc giảm dần (desc). Bên dưới là cú pháp

SELECT [DISTINCT] Column(s)
FROM TableName
[WHERE  Conditions ]
ORDER BY Column(s) [asc|desc]

Ví dụ dùng toán tử BETWEEN…AND và mệnh đề ORDER BY

SELECT * FROM EMP WHERE SAL BETWEEN 3000 AND 8000 ORDER BY SAL DESC

Bài toán chứng minh hàm thành viên sql

Truy vấn dữ liệu trong sql – Toán tử lôgíc

Các toán tử lôgíc gồm AND, OR và NOT. AND và OR được sử dụng để kết nối các điều kiện tìm kiếm chỉ ra trong mệnh đề WHERE. NOT phủ định kết quả tìm kiếm.

Ví dụ sử dụng toán tử AND

SELECT * FROM  TableName

0

Bài toán chứng minh hàm thành viên sql

Truy vấn dữ liệu trong sql – Mệnh đề GROUP BY

Mệnh đề GROUP BY cho phép nhóm các hàng dữ liệu có giá trị giống nhau thành một nhóm. Các tính toán (thường sử dụng các hàm truy vấn nhóm) sẽ được tính trên mỗi nhóm. Một số hàm nhóm như:

Min(column)Tìm giá trị nhỏ nhất trong cột columnMax(column)Tìm giá trị lớn nhất trong cột columnAvg(column)Tìm giá trị trung bình của cột columnCount (*)Đếm số dòng

Ví dụ 1: Tìm mức lương lớn nhất, nhỏ nhất, lương trung bình và tổng lương trong bảng EMP

SELECT * FROM  TableName

1

Bài toán chứng minh hàm thành viên sql

Ví dụ 2: Hiển thị lương lớn nhất và nhỏ nhất trong mỗi phòng ban

SELECT * FROM  TableName

2

Bài toán chứng minh hàm thành viên sql

Truy vấn dữ liệu trong sql – Mệnh đề HAVING

Mệnh đề HAVING được sử dụng làm điều kiện nhóm. Vì vậy muốn sử dụng HAVING, chúng ta phải kết hợp với GROUP BY.

Ví dụ: Hiển thị lương nhỏ nhất trong mỗi phòng ban với điều kiện lương nhỏ nhất từ 900 trở lên

SELECT * FROM  TableName

3

Bài toán chứng minh hàm thành viên sql

Truy vấn dữ liệu trong sql – Truy vấn dữ liệu từ nhiều bảng

Bài toán chứng minh hàm thành viên sql

Yêu cầu: Hãy hiển thị thông tin gồm mã sinh viên, tên sinh viên, tên lơp, mã môn học và điểm thi của những sinh viên có điểm thi >= 5

Truy vấn dữ liệu trong sql – Mệnh đề SELECT trên nhiều bảng

Khi truy vấn trên nhiều bảng, phải kết nối các bảng. Có hai kiểu kết nối:

  • Kết nối trong: mệnh đề WHERE chỉ ra các trường khóa của các bảng cần kết nối phải như nhau hoặc dùng từ khóa JOIN trong mệnh đề FROM
  • Kết nối ngoài: sử dụng từ khóa LEFT/RIGHT OUTER JOIN trong mệnh đề FROM

Ví dụ về kết nối trong sử dụng mệnh đề WHERE

Bài toán chứng minh hàm thành viên sql

Ví dụ về kết nối ngoài

Bài toán chứng minh hàm thành viên sql

So sánh kết quả hai kiểu kết nối

Kết nối trong chỉ trả về kết quả khi tìm được DEPARTMENT_ID tương ứng của nhân viên trong bảng DEPARTMENT

Kết nối ngoài trả về kết quả ngay cả khi không tìm được DEPARTMENT_ID của nhân viên trong bảng DEPARTMENT

Bài tập mẫu

Thực hiện trên Oracle Database Express Edition, tải bản cài đặt

Xem video hướng dẫn cài đặt Oracle Express

Xem video hướng dẫn sử dụng Oracle Express

SELECT * FROM  TableName

4

Yêu cầu thực hiện

Cho cơ sở dữ liệu QuanLyNhanSu như sau

Bài toán chứng minh hàm thành viên sql

Câu 1: Tạo cơ sở dữ liệu trên

Câu 2: Truy vấn dữ liệu trong sql

  1. Hiển thị tất cả thông tin của bảng NHANVIEN
  2. Hiển thị thông tin của những nhân viên ở phòng số 5
  3. Hiển thị mã nhân viên, họ nhân viên, tên lót và tên nhân viên của những nhân viên ở phòng số 5 và có lương >= 3000
  4. Hiển thị mã nhân viên, tên nhân viên của những nhân viên có lương từ 2000 đến 8000
  5. Hiển thị thông tin của những nhân viên ở địa chỉ có tên đường là Nguyễn
  6. Cho biết số lượng nhân viên
  7. Cho biết số lượng nhân viên trong từng phòng ban
  8. Hiển thị thông tin về mã nhân viên, tên nhân viên và tên phòng ban ở phòng kế toán

Tổng kết bài học

Ngôn ngữ truy vấn SQL bao gồm các lệnh có cấu trúc cho phép Tạo CSDL và Thêm, Sửa, hoặc Xóa dữ liệu.

Có 4 nhóm lệnh SQL chính, trong đó nhóm lệnh truy vấn dữ liệu (Select) cho phép trích ra phần dữ liệu cần lấy mà không làm thay đổi dữ liệu.

Bài tập thực hành

Truy vấn cơ sở dữ liệu quản lý tài khoản ngân hàng đã thiết kế ở bài thực hành số 2

Câu 1: Tạo các truy vấn dữ liệu trong sql sử dụng trên một bảng

1.1. Tạo truy vấn hiển thị thông tin tất cả các tài khoản có kiểu là “Checking”

1.2. Tạo truy vấn hiển thị các thông tin gồm (MaKH, SoTK, KieuTK, NgayMoTK) của các tài khoản có kiểu “Tài khoản cá nhân trong nước” và sắp xếp kết quả hiển thị sao cho ngày mở gần nhất sẽ được hiển thị trước (tức là ngày mở được sắp xếp giảm dần)

1.3. Tạo truy vấn hiển thị Tên, địa chỉ, thành phố các khách hàng sống tại thành phố “Hà Nội”. Sắp xếp kết quả theo thứ tự Alphabet của tên khách hàng

1.4. Tạo truy vấn hiển thị thông tin các khách hàng đã mở tài khoản trước ngày 01/07/2011.

Câu 2: Tạo các truy vấn dữ liệu trong sql sử dụng trên nhiều bảng

2.1. Thực hiện truy vấn hiển thị thông tin khách hàng, kiểu tài khoản, ngày mở.

2.2. Thực hiện truy vấn hiển thị tất cả các thông tin như truy vấn trên và thỏa mãn điều kiện ngày mở sau ngày 01/07/2011.

2.3. Thực hiện truy vấn hiển thị tất cả các thông tin như truy vấn trên và thỏa mãn điều kiện ngày mở sau ngày 01/07/2011 và kiểu tài khoản là “Tài khoản tổ chức trong nước”. Thông tin hiển thị được sắp xếp theo thứ tự Alphabet của tên khách hàng.

2.4. Thực hiện truy vấn hiển thị các thông tin: SoTK,KieuTK,SoTienGD, MoTaGD,ThoiGianGD,SoDuTaiKhoan cuả tài khoản 000000003 và giao dịch ngày 20/07/2007.

2.5. Liệt kê các thông tin về tất cả các lần giao dịch gồm: HoTenKH, DiaChi, SoTK, KieuTK, ThoiGianGD, SoTienGD, MoTaGD, SoDuTaiKhoan của khách hàng có số tài khoản là: 500000