Học SQL qua 100 truy vấn dành cho nhà khoa học dữ liệu
(gvwilson.github.io)SQL for the Weary
- Đối tượng mục tiêu: Rachel, có bằng thạc sĩ sinh học tế bào, đang làm công việc phân tích tế bào tại một bệnh viện nghiên cứu và muốn trở thành nhà khoa học dữ liệu.
- Kiến thức nền tảng cần có: Các lệnh Unix cơ bản và khả năng phân tích dữ liệu dạng bảng.
- Kết quả học tập: Giải thích sự khác biệt giữa cơ sở dữ liệu và quản trị viên cơ sở dữ liệu, viết SQL, định nghĩa bảng và thao tác dữ liệu, giải thích các loại join, sử dụng hàm window để làm việc với các hàng liền kề, hiểu về transaction và trigger, thao tác dữ liệu JSON bằng SQL, tương tác với cơ sở dữ liệu thông qua Python.
Thiết lập
- Tải bản phát hành mới nhất: Giải nén các tệp bao gồm ví dụ cơ sở dữ liệu SQLite, truy vấn SQL, script Python, v.v. vào thư mục tạm.
Khái niệm nền tảng
- Cơ sở dữ liệu: Tập hợp dữ liệu có thể tra cứu và truy xuất.
- Hệ quản trị cơ sở dữ liệu (DBMS): Chương trình quản lý một loại cơ sở dữ liệu cụ thể.
- SQLite: Lưu cơ sở dữ liệu trong một tệp duy nhất; PostgreSQL phân tán thông tin trên nhiều tệp để đạt hiệu năng cao hơn.
- Hệ quản trị cơ sở dữ liệu quan hệ (RDBMS): Lưu dữ liệu trong các bảng và truy vấn bằng SQL.
- Cơ sở dữ liệu NoSQL: Cũng tồn tại các cơ sở dữ liệu như MongoDB không sử dụng bảng.
Kết nối cơ sở dữ liệu
- Kết nối cơ sở dữ liệu: Không phải là truy vấn thực tế, nhưng là bước cần thiết trước khi thực hiện các thao tác khác.
Lệnh quản trị
- Lệnh quản trị của SQLite: Không phải là một phần của SQL tiêu chuẩn; các lệnh đặc biệt của PostgreSQL bắt đầu bằng
\. - Định dạng đầu ra: Sử dụng
.headers onvà.mode markdownđể hiển thị kết quả dễ đọc hơn.
Thao tác với bảng
- Tạo bảng: Định nghĩa bảng và các cột bằng lệnh
create table. - Chèn dữ liệu: Thêm dữ liệu vào bảng bằng lệnh
insert into. - Cập nhật hàng: Thay đổi dữ liệu của các hàng thỏa mãn điều kiện cụ thể bằng lệnh
update. - Xóa hàng: Xóa các hàng thỏa mãn điều kiện cụ thể bằng lệnh
delete from.
Join
- Join: Thao tác kết hợp thông tin từ hai bảng.
- Inner join: Dùng
inner joinđể chỉ kết hợp các hàng khớp nhau của hai bảng. - Left join: Dùng
left joinđể giữ lại mọi hàng của bảng bên trái và điền các giá trị thiếu từ bảng bên phải bằngnull.
Hàm tổng hợp
- Tổng hợp: Thao tác gộp nhiều giá trị thành một.
- Các hàm tổng hợp phổ biến: Dùng
sum,max,min,avgv.v. để tổng hợp dữ liệu. - Nhóm dữ liệu: Dùng
group byđể nhóm các hàng theo tổ hợp giá trị duy nhất của những cột cụ thể và thực hiện tổng hợp cho từng nhóm.
Ý kiến của GN⁺
- Bài viết này là tài liệu giúp hiểu những khái niệm cơ bản về cơ sở dữ liệu và SQL, hữu ích cho kỹ sư phần mềm mới bắt đầu hoặc những ai quan tâm đến khoa học dữ liệu.
- Bài viết giải thích nhiều chức năng khác nhau của SQL kèm ví dụ thực tế, từ đó cung cấp kiến thức thực tiễn về quản lý và thao tác cơ sở dữ liệu.
- Đặc biệt, các nội dung như join cơ sở dữ liệu, hàm tổng hợp và thao tác với bảng rất quan trọng trong các công việc liên quan đến phân tích dữ liệu, và bài viết này giúp hiểu rõ các khái niệm đó.
1 bình luận
Ý kiến trên Hacker News
left outer joinchỉ áp dụng cho điều kiện đẳng thức, và có thể tạo ra nhận thức sai vềleft join. Kiểu giải thích này rất phổ biến nhưng dễ gây hiểu lầm.