SQL for Tester
1. SQL là gì
- SQL (Structured Query Language) là một ngôn ngữ tiêu chuẩn để tương tác và quản lý cơ sở dữ liệu quan hệ (RDBMS).
- SQL được sử dụng để truy vấn, thao tác và quản lý dữ liệu trong các hệ quản trị cơ sở dữ liệu như MySQL, PostgreSQL, Oracle, SQL Server,...
2. Một số câu lệnh SQL thường sử dụng trong kiểm thử
a. Bảng Customers (Khách hàng)
b. Bảng Accounts (Tài khoản ngân hàng)
c. Bảng Transactions (Giao dịch)
2.1. SELECT - Truy vấn dữ liệu
Câu lệnh SELECT được sử dụng để truy vấn dữ liệu từ một hoặc nhiều bảng.
Ví dụ: Bạn muốn lấy thông tin tất cả khách hàng có tuổi > 30.
SELECT * FROM Customers WHERE age > 30;
Kết Quả:
2.2. JOIN - Kết hợp dữ liệu từ nhiều bảng
INNER JOIN: trả về chỉ các bản ghi khi có dự kết hợp giữa các bảng
Ví dụ: Bạn muốn lấy thông tin khách hàng, loại tài khoản và số dư tài khoản từ hai bảng Customers và Accounts
SELECT Customers.name, Accounts.account_type, Accounts.balance FROM Customers INNER JOIN Accounts ON Customers.customer_id = Accounts.customer_id;
Kết Quả:
LEFT JOIN: trả về tất cả bản ghi từ bảng bên trái (bảng Customers), và các bản ghi khớp từ bảng bên phải (Accounts). Nếu không có bản ghi khớp từ bảng bên phải, các cột từ bảng bên phải sẽ có giá trị NULL.
Ví dụ: Bạn muốn lấy thông tin tên khách hàng, loại tài khoản và số dư tài khoản từ 2 bảng Customers và Accounts. Trả về tất cả khách hàng không có tài khoản. Nếu 1 khách hàng ko có tài khoản, các thông tin về tài khoản sẽ được trả về dứoi dạng NULL
SELECT Customers.name, Accounts.account_type, Accounts.balance FROM Customers LEFT JOIN Accounts ON Customers.customer_id = Accounts.customer_id;
Kết Quả:
RIGHT JOIN: trả về tất cả bản ghi từ bảng bên phải (Accounts), và các bản ghi khớp từ bảng bên trái (Customers). Nếu không có bản ghi khớp từ bảng bên trái, các cột từ bảng bên trái sẽ có giá trị NULL.
Ví dụ: Bạn muốn lấy thông tin tên khách hàng, loại tài khoản và số dư tài khoản từ 2 bảng Customers và Accounts. Trả về tất cả các tài khoản trong bảng Accounts, bao gồm cả những tài khoản không liên kết với bất kỳ khách hàng nào. Nếu không có khách hàng tương ứng với tài khoản, các cột liên quan đến khách hàng sẽ có giá trị NULL
SELECT Customers.name, Accounts.account_type, Accounts.balance FROM Customers RIGHT JOIN Accounts ON Customers.customer_id = Accounts.customer_id;
Kết Quả:
FULL OUTER JOIN: trả về tất cả bản ghi từ cả hai bảng, cho dù chúng có khớp hay không.
Ví dụ: Bạn muốn lấy thông tin tên khách hàng, loại tài khoản và số dư tài khoản từ 2 bảng Customers và Accounts. Trả về tất cả các khách hàng và tất cả các tài khoản, bất kể chúng có khớp với nhau hay không. Nếu không có sự kết hợp giữa khách hàng và tài khoản, các cột liên quan đến khách hàng hoặc tài khoản sẽ có giá trị NULL.
SELECT Customers.name, Accounts.account_type, Accounts.balance FROM Customers FULL OUTER JOIN Accounts ON Customers.customer_id = Accounts.customer_id;
Kết Quả:
2.6. GROUP BY - Nhóm và tính toán tổng hợp
GROUP By: nhóm dữ liệu theo một hoặc nhiều cột và thực hiện các phép toán tổng hợp như SUM, AVG, COUNT, v.v.
Ví dụ: Bạn muốn truy vấn và nhóm các tài khoản theo các loại tài khoản, sau đó tính tổng số dư của từng loại tài khoản
SELECT account_type, SUM(balance) AS total_balance FROM Accounts GROUP BY account_type;
Kết Quả:
2.7. COUNT, SUM, AVG, MIN, MAX - Hàm tổng hợp
COUNT: Đếm số lượng bản ghi. SUM: Tính tổng giá trị của một cột. AVG: Tính giá trị trung bình của một cột. MIN: Tìm giá trị nhỏ nhất. MAX: Tìm giá trị lớn nhất.
Ví dụ: Bạn muốn truy vấn và tính toán các giá trị tổng hợp từ bảng Account, bao gồm số lượng bản ghi, tổng số dư, giá trị trung bình, giá trị nhỏ nhất và giá trị lớn nhất của cột balance
SELECT COUNT(*), SUM(balance), AVG(balance), MIN(balance), MAX(balance) FROM Accounts;
Kết Quả:
3. Kết Luận
SQL là công cụ quan trọng giúp quản lý và truy vấn dữ liệu trong các cơ sở dữ liệu. Qua bài viết này, hy vọng các bạn đã nắm được cách sử dụng các câu lệnh cơ bản như SELECT, JOIN, GROUP BY và các hàm tổng hợp như COUNT, SUM, AVG, MIN, MAX để thao tác và phân tích dữ liệu hiệu quả.
Hiểu rõ SQL sẽ giúp bạn xử lý và kiểm tra dữ liệu một cách chính xác, đặc biệt là trong công việc kiểm thử. Chúc bạn áp dụng thành công SQL vào công việc và các dự án của mình!
All rights reserved