Hộp thoại SQL Select là gì ? Hộp thoại Chọn SQL là một công cụ mà bạn có thể sử dụng để làm việc với dữ liệu của mình theo một số cách khác nhau. SQL là viết tắt của “Ngôn ngữ truy vấn có cấu trúc” (“Structured Query Language”). Những quen thuộc với việc sử dụng SQL từ hệ thống cơ sở dữ liệu sẽ dễ dàng có được các khái niệm trong SQL của MapInfo Professional. Tuy nhiên, cú pháp SQL trong MapInfo Pro không hoàn toàn tuân theo SQL chuẩn ANSI.
Bạn có thể làm gì với hộp thoại SQL Select ?
RẤT RẤT NHIỀU! Ví dụ:
- Lọc dữ liệu của (để chỉ xem và làm việc trên một số dữ liệu nhất định)
- Sắp xếp dữ liệu của (tăng dần/giảm dần và trên nhiều cột)
- Join các bảng (làm việc với dữ liệu từ nhiều hơn một bảng cùng một lúc)
- Tóm tắt thông tin (tính tổng, trung bình, tính)
- Lấy thông tin mới (tạo các cột mới từ các cột hiện có hoặc từ các hàm)
- Định dạng dữ liệu của bạn (ký hiệu tiền tệ, dấu phần trăm, dấu phẩy, dấu thập phân,…)
- Thực hiện tính toán địa lý
Không dành cho tất cả mọi người hoặc mọi thứ Sắp xếp và lọc đơn giản có thể được thực hiện trong cửa sổ Browser hoặc trong lệnh Query > Select. Đối với bài viết này, chúng tôi chắc chắn sẽ vượt xa các khả năng này.
Một số thuật ngữ
Đối với những người chưa quen với các khái niệm cơ sở dữ liệu, đây là ba thuật ngữ quan trọng. Nhiều người trong số bạn sẽ biết những điều này nhưng đối với một số người dùng mới hơn của MapInfo Pro, thông tin này có thể có ích.
Table (Bảng) – Một tập hợp dữ liệu trong MapInfo Pro. Một bảng cũng có thể xuất hiện dưới dạng một lớp trong bản đồ.
Record (Bản ghi, mẫu tin, dòng,…) – Một hàng duy nhất của bảng (như xuất hiện trong cửa sổ Browser).
Field (Trường, cột) – Một cột trong bảng (như xuất hiện trong cửa sổ Browser hoặc trong hộp thoại Table Structure).
Trước khi chúng ta bắt đầu …
Đây là bảng được sử dụng trong các ví dụ sau. Đây là một phần của dữ liệu mẫu World (thế giới). Mục tiêu chung của chúng tôi là tạo ra một truy vấn bao gồm tỷ lệ phần trăm dân số đô thị (percentage of urban population) cho mỗi country (quốc gia).

Tổng quan về hộp thoại SQL Select Dưới đây là cách hiển thị hộp thoại SQL Select.
Trong phiên bản 64 bit của MapInfo Pro, bạn sẽ tìm thấy lệnh trên các tab TABLE, MAP hoặc SPATIAL.
Trong phiên bản 32 bit, click vào menu Query > chọn SQL Select.
Dưới đây là tổng quan:

Điều đầu tiên muốn nói với bạn về hộp thoại này là bạn không phải điền vào tất cả các ô trống !
Ví dụ truy vấn: Lấy thông tin mới từ các cột hiện có. Chúng ta sẽ bắt đầu bằng cách tìm hiểu cách bạn có thể tạo các cột mới từ dữ liệu hiện có của mình. Thông qua ví dụ này, chúng tôi sẽ giới thiệu một vài khía cạnh khác nhau khi làm việc với các truy vấn SQL.
Lưu ý rằng bảng World (Thế giới) bao gồm một cột chứa dân số đô thị (urban population) của mỗi quốc gia (country). Nó không bao gồm một cột cho biết tỷ lệ phần trăm (percentage of people) của những người sống ở khu vực thành thị. Đối với ví dụ đầu tiên này, chúng tôi sẽ tạo một cửa sổ Browser đơn giản với tên quốc gia, dân số, dân số đô thị và tỷ lệ dân số đô thị. Chúng tôi sẽ đặt tên truy vấn này là World_pct_urban.
“Bí quyết” để hiểu điều này chỉ đơn giản là trong hộp Select columns, một cột có thể là một biểu thức. Trong hộp thoại bên dưới, lưu ý cột cuối cùng (gạch chân) tính tỷ lệ phần trăm dân số đô thị.

Lưu ý rằng biểu thức có thể được cung cấp một tên cột dễ hiểu. Điều này được thực hiện bằng cách thêm tên mong muốn trong dấu ngoặc kép vào cuối biểu thức. (Một mẹo thêm là điều này có thể được thực hiện để đổi tên bất kỳ cột nào, không chỉ các cột được tạo thành biểu thức.)
Cũng lưu ý rằng truy vấn đã được đặt tên. Điều này không bắt buộc. Để lại kết quả “Selection” mặc định trong mỗi truy vấn liên tiếp được đặt tên là Query1, Query2,…
Sau đây là kết quả từ ví dụ đầu tiên. Lưu ý rằng chúng tôi có một số dữ liệu không đầy đủ. Nhiều quốc gia có con số 0 đối với dân thành thị. Chúng tôi sẽ loại trừ những điều này trong ví dụ tiếp theo.

Tiếp: Sắp xếp và lọc kết quả
Chúng tôi sẽ thực hiện hai thay đổi cho truy vấn này. Chúng tôi sẽ sắp xếp các kết quả theo thứ tự giảm dần để các quốc gia có tỷ lệ dân số đô thị cao nhất sẽ được liệt kê đầu tiên. Với mục đích của ví dụ này, chúng tôi sẽ giả sử rằng dân số đô thị bằng 0 biểu thị dữ liệu bị thiếu và chúng tôi sẽ loại trừ các record này khỏi kết quả.

Sau đây là kết quả. Theo dữ liệu trong bảng này, Israel có tỷ lệ dân thành thị cao nhất với gần 90%

Tiếp: Áp dụng định dạng
Chúng tôi sẽ thực hiện một điều chỉnh thêm cho ví dụ này. Lưu ý rằng tỷ lệ phần trăm được hiển thị đến bốn chữ số thập phân. Cũng lưu ý rằng không có dấu phần trăm được hiển thị. Chúng ta có thể sử dụng hàm Format$() để điều khiển định dạng hiển thị của các số.
Để làm cho điều này dễ nhìn và dễ hiểu hơn, đây là biểu thức cột với định dạng được thêm vào:
Format$((Pop_Urban / Pop_1994) * 100, “0.#\%”) “Pct_urban”


Làm tròn thay vì định dạng
Nếu bạn muốn các số được làm tròn và không quan tâm đến việc có dấu phần trăm trong màn hình, bạn có thể sử dụng hàm Round() thay vì hàm Format$().
Tuy nhiên, với hàm Round(), các điểm thập phân có thể không phải là tất cả các dòng. Đây không phải là một vấn đề nếu bạn làm tròn đến số nguyên gần nhất. (Một điểm khác biệt với hàm Format$() là bạn có thể sử dụng nó để đệm các số 0 ở đầu hoặc cuối.)
Đây là biểu thức cột sử dụng Round () thay vì Format $ ()
Round((Pop_Urban / Pop_1994) * 100, 1) “Pct_urban”

Cuối cùng
Hộp thoại SQL Select là một chủ đề lớn. Hàm Format$() là một chủ đề lớn theo đúng nghĩa của nó và có nhiều hàm khác bạn có thể muốn sử dụng !
Bình luận bằng Facebook Comments