Xin chào các bạn, ở bài Data Analysis với SQL – Phần 1: Mở đầu, chúng ta đã học làm quen và cài đặt cho mình các bộ dữ liệu và các công cụ phù hợp. Ở phần này chúng ta sẽ nhập môn SQL cơ bản.
I. Giới thiệu SQL cơ bản
SQL (Structured Query Language) là một ngôn ngữ được sử dụng để truy vấn và quản lý trong cơ sở dữ liệu quan hệ (RDBMS) như PostgreSQL. SQL được sử dụng rộng rãi trong các ứng dụng web và phần mềm để truy vấn và lưu trữ dữ liệu.
Ngoài ra, SQL còn được sử dụng ở các lĩnh vực liên quan tới data, vì tính dễ dàng tiếp cận của nó, cũng như khả năng tính toán và truy xuất dữ liệu ở dạng bảng.
Ở bài này chúng ta sẽ nói sơ qua về việc sử dụng SQL vào lĩnh vực dữ liệu ở mức thực thi các câu lệnh truy vấn ở mức cơ bản.
II. Các từ khoá cơ bản
Từ khóa SELECT & FROM
Truy vấn SELECT là truy vấn phổ biến nhất trong SQL, được sử dụng để truy vấn dữ liệu từ các bảng trong cơ sở dữ liệu. Truy vấn SELECT cho phép lựa chọn các cột cần truy vấn và thêm điều kiện để truy vấn dữ liệu chính xác.
Các từ khóa chính trong truy vấn SELECT bao gồm: SELECT, FROM và WHERE. SELECT được sử dụng để lựa chọn các cột cần truy vấn. FROM được sử dụng để chỉ định các bảng chứa dữ liệu cần truy vấn. WHERE được sử dụng để thêm điều kiện để lọc dữ liệu.
select * from "brazilian-ecommerce".olist_customers_dataset;
Kết quả
Từ khóa WHERE
Truy vấn WHERE được sử dụng để lọc dữ liệu dựa trên các điều kiện được xác định. Truy vấn này cho phép lựa chọn các dòng (rows) theo các tiêu chí như giá trị của một trường cụ thể hoặc kết hợp nhiều tiêu chí để lọc dữ liệu.
Các toán tử so sánh trong truy vấn WHERE bao gồm: “=”, “<>”, “<“, “<=”, “>”, “>=”, “LIKE” và “IN”. “LIKE” được sử dụng để tìm kiếm các dòng có giá trị tương tự hoặc chứa chuỗi con. “IN” được sử dụng để tìm kiếm các dòng có giá trị trong danh sách được chỉ định.
select * from "brazilian-ecommerce".olist_customers_dataset
where customer_state = 'SP';
Kết quả
Từ khóa JOIN
Từ khóa JOIN được sử dụng để kết hợp dữ liệu từ nhiều bảng. Nó cho phép lấy dữ liệu từ các bảng liên quan với nhau thông qua khóa chính, khóa ngoại.
Các loại JOIN trong SQL bao gồm: INNER JOIN, LEFT JOIN, RIGHT JOIN và FULL OUTER JOIN. INNER JOIN trả về các dòng có giá trị khớp trong cả hai bảng. LEFT JOIN trả về tất cả các dòng trong bảng bên trái và các dòng khớp trong bảng bên phải. RIGHT JOIN tương tự với LEFT JOIN nhưng đổi chỗ bảng. FULL OUTER JOIN trả về tất cả các dòng trong cả hai bảng.
select c.customer_id, o.order_id from "brazilian-ecommerce".olist_customers_dataset c
join "brazilian-ecommerce".olist_orders_dataset o on c.customer_id = o.customer_id;
Kết quả, chúng đã JOIN hai bảng dữ liệu customer và order làm một:
Từ khóa GROUP BY
Từ khóa GROUP BY được sử dụng để nhóm các dòng dựa trên giá trị của một trường cụ thể. Nó cho phép tính tổng, trung bình, số lượng hoặc giá trị lớn nhất/lớn nhất của các dòng trong mỗi nhóm.
select customer_city, count(*) as count from "brazilian-ecommerce".olist_customers_dataset group by customer_city;
Kết quả: chúng ta nhóm customer_city, và đếm số lượng customer thuộc về city đó.
Từ khóa HAVING
Từ khóa HAVING được sử dụng để lọc kết quả của từ khóa GROUP BY. Nó cho phép người dùng chỉ định một điều kiện để lọc các bản ghi đã được nhóm.
select customer_city, count(*) from "brazilian-ecommerce".olist_customers_dataset
group by customer_city having count(*) > 10;
Câu lệnh trên sẽ lấy tất cả các thành phố có trên 10 khách hàng trong thành phố đó:
Từ khóa ORDER BY
Từ khóa ORDER BY được sử dụng để sắp xếp các dòng theo giá trị của một hoặc nhiều trường. Nó cho phép sắp xếp các dòng theo thứ tự tăng dần (ASC) hoặc giảm dần (DESC).
select customer_city, count(*) from "brazilian-ecommerce".olist_customers_dataset
group by customer_city having count(*) > 10 order by 2 desc;
--You can change desc keyword to asc to sort from lowest to higest
Tiếp tục ví dụ trên, chúng ta mong muốn sắp xếp top các thành phố có ít nhất hơn 10 khách hàng và được sắp xếp từ cao tới thấp.
Kết luận
Các từ khóa SQL kể trên được sử dụng thường xuyên gần như mỗi ngày của các nhân sự trong lĩnh vực data lẫn software.
Bằng cách sử dụng các truy vấn phù hợp, người dùng có thể truy vấn dữ liệu hiệu quả và nhanh chóng. Khi sử dụng SQL, bạn cần phải hiểu rõ các khái niệm và cú pháp để tránh sai sót trong truy vấn dữ liệu.