Hướng dẫn viết câu lệnh SQL trong Excel để tạo báo cáo động

Đã bao giờ bạn nghe đến SQL và thắc mắc về các chức năng của ứng dụng này? Nếu có thì đây sẽ là một bài viết vô cùng đầy đủ cho bạn về SQL và cách viết câu lệnh SQL trong Excel để tạo báo cáo động đấy! Cùng theo dõi nhé!

SQL là cái gì?

SQL (Structured Query Language) được biết đến là một ngôn ngữ đã được phát triển chuyên để giúp truy vấn dữ liệu từ một hệ thống quản trị cơ sở dữ liệu.

Hay có thể nói một cách đơn giản hơn thì SQL sẽ giúp cho bạn thao tác lấy dữ liệu từ bảng tính này sang bảng tính khác hoặc là SQL sẽ giúp bạn thực hiện lọc dữ liệu theo nhiều điều kiện khác nhau, và theo phương pháp mà đôi khi những công cụ truyền thống như Advanced Filter hay Bảng Pivot có thể sẽ gặp khó khăn khi xử lý nhiều dữ liệu. Khi bạn đã dùng được SQL thì chắc chắn sẽ có nhiều ý tưởng hơn trong quá trình tạo một báo cáo (động) với Excel.

Những ví dụ về việc dùng SQL với SELECT

Ở phần này, bạn sẽ được làm quen với cách truy vấn, truy cập hay là lấy dữ liệu bằng SQL ở ngay tại Excel. Những ví dụ này đều có thể được thực hiện nếu như bạn đã tiến hành download file excel đi kèm. Với bài viết này, bạn sẽ đi tìm hiểu câu lệnh SELECT. Việc đầu tiên bạn cần làm đó chính là sẽ đi xem xét bảng dữ liệu hoặc là file excel mà bạn đã download về.

Bảng dữ liệu trong Video

Bên dưới đây là bảng dữ liệu đã được kết nối trực tiếp từ Excel Online, bạn cần dùng một trình duyệt Web hiện đại (Google Chrome, Firefox, Safari) để có thể xem được các thông tinh của bảng Excel này trực tiếp.

Xem thêm: Hướng dẫn cách tách ngày tháng năm trong Excel

Trước khi tiến hành xử lý bất kì dữ liệu nào, bạn đầu tiên cần đi tìm hiểu cấu trúc của bảng dữ liệu đó:

  • Bảng dữ liệu của bạn bao gồm 7 cột từ cột A cho đến cột G.
  • Vùng dữ liệu được lưu là A1:G20000
  • Ở mỗi cột chứa một thuộc tính của dữ liệu:
    1. Cột A: Ngày bán (OrderDate) chứa kiểu dữ liệu ngày tháng
    2. Cột B: Vùng bán (Region) chứa kiểu dữ liệu chuỗi
    3. Cột C: Người bán (Rep) chứa kiểu dữ liệu chuỗi
    4. Cột D: Món hàng(Item) chứa kiểu dữ liệu chuỗi
    5. Cột E: Số lượng (Units) chứa kiểu dữ liệu số
    6. Cột F: Đơn giá (Unit Cost) chứa kiểu dữ liệu số
    7. Cột G: Thành tiền (Total) chứa kiểu dữ liệu số

Sau khi đã tiến hành xác định được bảng dữ liệu của bạn trông như thế nào, tiếp đó bạn có thể dùng SQL để truy cập dữ liệu này với các câu lệnh SQL sau đây.

1. Truy cập toàn bộ dữ liệu từ bảng tính Excel bằng SQL

Để có thể truy cập toàn bộ dữ liệu từ 1 vùng dữ liệu, bạn dùng câu lệnh sau

	SELECT * FROM [A1:G20000]
	

Từ SELECT trong câu lệnh trên là một từ khoá của ngôn ngữ SQL. Dấu * nằm ở trong câu lệnh này có nghĩa là bạn muốn dữ liệu của toàn bộ các cột. Từ FROM cũng là một từ khoá của ngôn ngữ SQL, từ này giúp thông báo cho bộ xử lý SQL là bạn muốn truy cập dữ liệu từ vùng dữ liệu nào. Và cũng chắc chắn là bạn đã đoán ra [A1:G20000] là vùng dữ liệu đã được nói đến trước đó. Nếu bạn dùng file Excel trong video để tiến hành các câu lệnh SQL này, thì bạn cần thêm mi_sql vào phía trước câu lệnh như sau:

mi_sql SELECT * FROM [A1:G20000]

  • Trong thực tế sử dụng thì bạn sẽ rất ít khi phải dùng đến câu lệnh SQL này.
  • Chỉ ở file Excel bạn download về ở bài này, bạn mới cần thêm mi_sql vào đầu mỗi câu lệnh.

2. Truy cập dữ liệu từ bảng tính Excel theo cột

Để có thể truy cập dữ liệu của một số cột nhất định: bạn thực hiện ghi tên cột ra sau từ khoá SELECT và viết những cột ngăn cách nhau bằng dấu phẩy ,

	SELECT OrderDate, Region, Rep, Item FROM [A1:G20000]
	

Kết quả của câu SQL này sẽ như sau:

+---+-----------+--------+--------+--------+
|   |     A     |    B   |    C   |    D   |
+---+-----------+--------+--------+--------+
| 1 | OrderDate | Region |   Rep  |  Item  |
+---+-----------+--------+--------+--------+
| 2 |  1/6/2014 | Hanoi  | Jones  | Pencil |
+---+-----------+--------+--------+--------+
| 3 | 1/23/2014 | Danang | Kivell | Binder |
+---+-----------+--------+--------+--------+
|   |    ...    |   ...  |   ...  |   ...  |
+---+-----------+--------+--------+--------+

Nếu muốn thực hiện “đặt tên lại” cho các cột OrderDateRegionRepItem thì bạn có thể dùng:

	SELECT OrderDate AS NgayBan
		 , Region    AS Vung
		 , Rep       AS NhanVien
		 , Item      AS MatHang
	FROM [A1:G20000]
	

Khi tiến hành viết câu lệnh SQL này vào Excel, bạn có thể viết trên cùng 1 dòng, mà không cần xuống dòng như tại đây (Xuống dòng để cho dễ nhìn). Sau khi đã chạy lệnh SQL này bạn sẽ nhận được kết quả như sau:

+---+-----------+--------+-----------+-----------+
|   |     A     |    B   |    C      |    D      |
+---+-----------+--------+-----------+-----------+
| 1 | NgayBan   | Vung   | NhanVien  |  MatHang  |
+---+-----------+--------+-----------+-----------+
| 2 |  1/6/2014 | Hanoi  | Jones     | Pencil    |
+---+-----------+--------+-----------+-----------+
| 3 | 1/23/2014 | Danang | Kivell    | Binder    |
+---+-----------+--------+-----------+-----------+
|   |    ...    |   ...  |   ...     |   ...     |
+---+-----------+--------+-----------+-----------+

3. Tính toán trực tiếp dựa trên câu lệnh SQL trong Excel

Ví dụ trong bảng dữ liệu của bạn chưa có cột G – Thành tiền (Total), bạn có thể SQL như sau để có thể thực hiện tính được cộtThành tiền này một cách nhanh chóng nhất.

 	SELECT Item
 		, Units
 		, [Unit Cost]*Units AS total_sql
 		, Total 
 	FROM [A1:G20000]
	

Và kết quả nhận được sẽ chính xác như bạn mong đợi:

+---+--------+-------+-----------+--------+
|   |    A   |   B   |     C     |    D   |
+---+--------+-------+-----------+--------+
| 1 |  Item  | Units | total_sql |  Total |
+---+--------+-------+-----------+--------+
| 2 | Pencil |    95 |    189.05 | 189.05 |
+---+--------+-------+-----------+--------+
| 3 | Binder |    50 |    999.50 | 999.50 |
+---+--------+-------+-----------+--------+
|   |   ...  |   ... |       ... |    ... |
+---+--------+-------+-----------+--------+

4. Những phép toán có thể được dùng trong SQL

+-----------+-------------------+-------------------+
| Phép toán |      Ý nghĩa      |       Ví dụ       |
+-----------+-------------------+-------------------+
|     +     | Cộng              | SELECT 181 + 234  |
+-----------+-------------------+-------------------+
|     -     | Trừ               | SELECT 234 - 181  |
+-----------+-------------------+-------------------+
|     *     | Nhân              | SELECT 234 * 181  |
+-----------+-------------------+-------------------+
|     /     | Chia              | SELECT 234 / 181  |
+-----------+-------------------+-------------------+
|     >     | Lớn hơn           | SELECT 234 > 181  |
+-----------+-------------------+-------------------+
|     <     | Nhỏ hơn           | SELECT 234 < 181  |
+-----------+-------------------+-------------------+
|     >=    | Lớn hơn hoặc bằng | SELECT 234 >= 181 |
+-----------+-------------------+-------------------+
|     <=    | Nhỏ hơn hoặc bằng | SELECT 234 <= 181 |
+-----------+-------------------+-------------------+

Như vây bạn đã thấy rằng trong bài này chúng ta đã được làm quen với SQL cùng câu lệnh SELECT để lấy được dữ liệu đơn giản trong Excel. Hi vọng những kiến thức bổ ích của bài viết sẽ giúp ích được cho bạn trong quá trình làm việc, chúc bạn thành công!

Xem thêm: Hướng dẫn tách 1 ô thành nhiều ô trong Excel

Tin tức liên quan

Gửi bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *