Top Query là gì

Rất đơn giản, một query nghĩa là một yêu cầu truy vấn thông tin. Vậy, query trong ngôn ngữ lập trình là gì? Cũng vậy thôi – thông tin ở đây sẽ là thông tin trích xuất từ một database – cơ sở dữ liệu. Query dùng để thực hiện các thao tác lên dữ liệu đó [data manipulation] – thêm, xóa, thay đổi. Đây là ý nghĩa của từ query trong bài viết này.

Tuy nhiên, bạn sẽ không thể nhận được bất kỳ thông tin, dữ liệu nào nếu chỉ thực hiện một lệnh truy vấn tùy ý. Query của bạn phải dựa trên một cấu trúc code được định sẵn mà cơ sở dữ liệu có thể hiểu được. Cấu trúc code này có thể xem như là ngôn ngữ truy vấn – query language.

Tiêu chuẩn hiện nay của ngôn ngữ truy vấn là Structured Query Language [SQL]. Hãy nhớ, SQL khác hoàn toàn với MySQL: SQL là ngôn ngữ truy vấn, còn MySQL là một phần mềm sử dụng ngôn ngữ này. Mặc dù SQL là lựa chọn phổ biến của những phần mềm database, nhưng nó không phải là duy nhất. Những ngôn ngữ khác là AQL, Datalog, DMX.

Những ngôn ngữ này đều nhằm mục đích giúp cho việc giao tiếp database dễ dàng hơn.

Vừa mới bắt đầu lập trình web? Chúng tôi hỗ trợ các gói web hosting đầy đủ, phù hợp hoàn toàn cho doanh nghiệp nhỏ và vừa hoặc dành cho các lập trình viên cần môi trường sáng tạo.

Tìm hiểu thêm

Query hoạt động như thế nào?

Hãy nói về một truy vấn trong đời sống hằng ngày trước. Ví dụ bạn muốn mua một ly Cà Phê Sữa Đá trong Startbucks. Bạn sẽ đưa ra yêu cầu “Cho mình ly cà phê sữa đá?”. Nhân viên pha chế sẽ hiểu yêu cầu của bạn và thực hiện đơn hàng.

Một query hoạt động tương tự. Bạn sẽ sử dụng ngôn ngữ query để gửi yêu cầu bạn muốn. Bất kể bạn sử dụng SQL hay ngôn ngữ nào khác, miễn là cả database và bạn hiểu và sử dụng chung 1 ngôn ngữ bạn sẽ có thể thực hiện truy vấn và nhận kết quả đúng như mong muốn. Dĩ nhiên rồi phải không, nếu bạn nói tiếng Pháp và nhân viên pha chế nói tiếng Việt thì anh ta sẽ không làm được ly cà phê nào cho bạn.

Chắc bạn tưởng thực hiện truy vấn là cách duy nhất để lấy dữ liệu. Không hẵn, trên thực tế có nhiều cách khác để thực hiện việc này miễn là database software. Chúng tôi tổng hợp các cách để lấy dữ liệu như sau:

  • Sử dụng tham số có sẵn
    Phần mềm mặc định có sẵn các tham số trong menu của nó. Người dùng có thể chọn, hệ thống sẽ hướng dẫn bạn cách để lấy kết quả mong muốn. Dễ thực hiện, nhưng không linh hoạt và có nhiều hạn chế về cách vận hành.
  • Sử dụng cấu trúc gợi ý
    Hệ thống sẽ hiển thị một bộ code cho bạn với các khoảng trống để điền vào, bạn có thể điền thêm giá trị là được.
  • Ngôn ngữ query
    Bạn đã biết có nhiều ngôn ngữ query. Bạn sẽ phải viết truy vấn nếu muốn sử dụng dữ liệu. Phương pháp này đòi hỏi bạn có kiến thức về ngôn ngữ query đang được database software của bạn sử dụng. Mặc dù hơi phúc tạp nhưng nó cho bạn toàn quyền kiểm soát dữ liệu.

Ví dụ một query

Giờ bạn đã biết query là gì, vậy tại sao lại không thử ngay? Hãy nhớ chúng tôi sử dụng SQL làm ngôn ngữ chính.

Nguồn dữ liệu: Participant [tên bảng]

Ví dụ bạn cần lấy một thông từ trong bảng khảo sát sau:

ID Name Sex Age Occupation
1 John Nam 17 Student
2 Peter Nam 26 Unemployed
3 Margareth Nu 34 Teacher
4 Lea Nu 34 Unemployed

Thực hành

Với SQL, bạn có thể viết các query như là SQL SELECT hay SQL ACTION. Như tên của nó, SQL SELECT giúp bạn chọn từng phần của cơ sở dữ liệu, SQL ACTION giúp bạn thực hiện những hoạt động như là xóa hoặc thêm thông tin, cập nhật giá trị hoặc tạo bảng mới. Xem các ví dụ bên dưới sẽ dễ hiểu hơn:

  • Chọn chỉ cột “Name” và “Occupation” từ bảng “participant”.
    SQL Statement:
    SELECT Name, Occupation FROM Participant
    Kết quả:
    Name Occupation
    John Student
    Peter Unemployed
    Margareth Teacher
    Lea Unemployed
  • Xóa dữ liệu từ những người đang không đi làm.
    SQL Statement:
    DELETE FROM Participant WHERE Occupation = ‘Unemployed’Kết quả:
    ID Name Sex
    Age Occupation
    1 John Nam 17 Student
    3 Margareth Nu 34 Teacher
  • Thêm một dòng vào trong bảng một người có tên Mario, 67 tuổi, đã nghĩ hưu.
    SQL Statement:
    INSERT INTO Participant [ID, Name, Sex, Age, Occupation] VALUES [‘5’, ‘Mario’, ‘Nam’, ‘67’, ‘Retired’]
    Kết quả:
    ID Name Sex
    Age Occupation
    1 John Nam 17 Student
    2 Peter Nam 26 Unemployed
    3 Margareth Nu 34 Teacher
    4 Lea Nu 34 Unemployed
    5 Mario Nam 67 Retired
  • Thay đổi công việc của Margareth thành “Trưởng phòng”.
    SQL Statement:
    UPDATE Participant SET Occupation = ‘Trưởng phòng’ WHERE ID = ‘3’
    Kết quả:
    ID Name Sex Age Occupation
    1 John Nam 17 Student
    2 Peter Nam 26 Unemployed
    3 Margareth Nu 34 Trưởng phòng
    4 Lea Nu 34 Unemployed

Lời kết

Một vài lệnh SQL, như những lệnh ở trên là tiêu biểu của những gì ngôn ngữ truy vấn có thể thực hiện. Nó giúp bạn xử lý dữ liệu hiệu quả. Hãy tưởng tượng bạn có hàng ngàn dòng dữ liệu. Kiểm soát dữ liệu như vậy không còn khó nữa. Hơn nữa, ngôn ngữ query rất dễ dùng, vì nó có ý nghĩa và dễ học sau khi bạn đã hiểu các luật cơ bản. Hãy nhanh chóng bắt tay vào nghiên cứu database query thôi, và quản lý cơ sở dữ liệu như dân chuyên nghiệp!

Giờ bạn đã biết query là gì? Nó là một truy vấn sủ dụng một ngôn ngữ database để thao túng dữ liệu trong database. Nếu bạn còn chưa rõ, hãy để lại bình luận bên dưới nhé. Hoặc bạn có câu hỏi nào cũng đừng ngại mà cho chúng tôi biết.

Access cho Microsoft 365 Access 2021 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 Xem thêm...Ít hơn

Bạn có thể sử dụng thuộc tính TopValues để trả về số bản ghi cụ thể hoặc tỷ lệ phần trăm bản ghi đáp ứng các tiêu chí do bạn chỉ định. Ví dụ: bạn có thể muốn trả về 10 giá trị trên cùng hoặc 25 % trên cùng của mọi giá trị trong một trường.

Lưu ý: Thuộc tính TopValues chỉ áp dụng cho truy vấn chắp thêm, truy vấn tạo bảng và truy vấn chọn.

Cài đặt thuộc tính TopValues là một giá trị Số nguyên đại diện cho số lượng giá trị chính xác cần trả về hoặc một số có ký hiệu phần trăm [%] theo sau đại diện cho tỷ lệ phần trăm bản ghi sẽ trả về. Ví dụ: để trả về 10 giá trị trên cùng, đặt thuộc tính TopValues là 10; để trả về 10 % các giá trị trên cùng, đặt thuộc tính TopValues là 10 %.

Bạn không thể đặt thuộc tính này trực tiếp trong mã. Thuộc tính được đặt trong Dạng xem SQL của Cửa sổ truy vấn bằng cách sử dụng mệnh đề TOP n hoặc mệnh đề TOP n PERCENT trong câu lệnh SQL.

Bạn cũng có thể đặt thuộc tính TopValues bằng cách sử dụng bảng thuộc tính của truy vấn hoặc hộp Top Values dưới Công cụ trên tab Thiết kế.

Lưu ý: Thuộc tính TopValues trong trang thuộc tính của truy vấn và trên tab Thiết kế là một hộp tổ hợp chứa danh sách các giá trị và giá trị theo tỷ lệ phần trăm. Bạn có thể chọn một trong các giá trị này hoặc nhập cài đặt hợp lệ bất kỳ vào hộp.

Thông thường, bạn sử dụng cài đặt thuộc tính TopValues cùng với các trường đã được sắp xếp. Trường bạn muốn hiển thị các giá trị trên cùng sẽ là trường ngoài cùng bên trái có hộp Sắp xếp đã chọn trong lưới thiết kế truy vấn. Sắp xếp tăng dần sẽ trả về bản ghi ở dưới cùng và sắp xếp giảm dần sẽ trả về các bản ghi ở trên cùng. Nếu bạn chỉ định số lượng bản ghi cụ thể cần trả về thì tất cả bản ghi có giá trị khớp với giá trị trong bản ghi cuối cùng cũng sẽ được trả về.

Ví dụ: giả sử một tập hợp các nhân viên có tổng doanh thu như sau.

Doanh số

Nhân viên bán hàng

90.000

Leverling

80.000

Peacock

70.000

Davolio

70.000

King

60.000

Suyama

50.000

Buchanan

Nếu bạn đặt thuộc tính TopValues là 3 với sắp xếp giảm dần trên trường Doanh số thì Microsoft Office Access 2007 sẽ trả về bốn bản ghi sau.

Doanh số

Nhân viên bán hàng

90.000

Leverling

80.000

Peacock

70.000

Davolio

70.000

King

Lưu ý: Để trả về giá trị trên cùng hoặc dưới cùng mà không hiển thị các giá trị trùng lặp, hãy đặt thuộc tính UniqueValues trong trang thuộc tính của truy vấn thành Yes.

Ví dụ sau gán chuỗi SQL có tác dụng trả về 10 sản phẩm đắt nhất cho thuộc tính RecordSource trong biểu mẫu sẽ hiển thị mười sản phẩm đắt nhất.

Dim strGetSQL As StringstrGetSQL = "SELECT TOP 10 Products.[ProductName] " _ & "AS TenMostExpensiveProducts, " _ & "Products.UnitPrice " _ & "FROM Products " _ & "ORDER BY Products.[UnitPrice] DESC;"Me.RecordSource = strGetSQL

Video liên quan

Chủ Đề