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
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.
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.
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.
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.
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.
SELECT COUNT(), SUM(balance), AVG(balance), MIN(balance), MAX(balance) FROM Accounts;
Kết Quả: