12/08/2018, 14:33

SQL testing (Phần 2 - Những câu lệnh SQL cơ bản)

Link tham khảo: https://dl.dropboxusercontent.com/u/15376486/SQL for Testers - Part 2.pdf Như ở phần trước, mình đã giới thiệu về những ứng dụng của SQL trong testing. Vậy làm sao để ứng dụng được SQL trong testing? Trong bài viết này mình sẽ tiếp tục giới thiệu một số câu lệnh SQL cơ bản thường ...

Link tham khảo: https://dl.dropboxusercontent.com/u/15376486/SQL for Testers - Part 2.pdf

Như ở phần trước, mình đã giới thiệu về những ứng dụng của SQL trong testing. Vậy làm sao để ứng dụng được SQL trong testing? Trong bài viết này mình sẽ tiếp tục giới thiệu một số câu lệnh SQL cơ bản thường sử dụng trong việc truy xuất dữ liệu.

Trong database, các dữ liệu được lưu trữ trong các bảng. Câu lệnh select cơ bản sẽ giúp bạn lấy ra một số trường dữ liệu hoặc tất cả các trường dữ liệu trong bảng.

Câu lệnh:

SELECT ColumnName, ColumnName, ... FROM TableName;

Ví dụ ta có bảng sau:

Nếu muốn lấy tất cả dữ liệu bạn sẽ dùng câu lệnh:

SELECT * FROM EmployeeAddressTable;

Nếu muốn lấy dữ liệu trường FirstName, LastName, Address, City, State sử dụng câu lệnh:

SELECT FirstName, LastName, Address, City, State

FROM EmployeeAddressTable;

Khi đó câu query của bạn sẽ trả ra kết quả như sau:

Câu lệnh:

SELECT ColumnName

FROM TableName

WHERE condition;

Có 6 mối quan hệ điều kiện:

Để thỏa mãn đồng thời nhiều điều kiện chúng ta dùng câu lệnh AND.

Để thỏa mãn một trong số những điều kiện chúng ta dùng câu lệnh OR.

Ví dụ: Chúng ta có bảng sau:

Muốn truy xuất EMPLOYEEIDNO có salary từ 50.000 $$ta sẽ sử dụng câu lệnh:

SELECT EMPLOYEEIDNO

FROM EMPLOYEESTATISTICSTABLE

WHERE SALARY >= 50000;

Muốn truy xuất EMPLOYEEIDNO của tất cả staff có salary lớn hơn 40.000 $$ta sẽ sử dụng câu lệnh:

SELECT EMPLOYEEIDNO

FROM EMPLOYEESTATISTICSTABLE

WHERE SALARY > 40000 AND POSITION = 'Staff';

Muốn truy xuất EMPLOYEEIDNO có salary nhỏ hơn 40.000 hoặc benefits nhỏ hơn 10.000 ta sẽ sử dụng câu lệnh:

SELECT EMPLOYEEIDNO

FROM EMPLOYEESTATISTICSTABLE

WHERE SALARY < 40000 OR BENEFITS < 10000;

Muốn truy xuất EMPLOYEEIDNO của tất cả manager có salary lớn hơn 60.000 hoặc benefits lớn hơn 12.000 ta sẽ sử dụng câu lệnh:

SELECT EMPLOYEEIDNO

FROM EMPLOYEESTATISTICSTABLE

WHERE POSITION = 'Manager' AND SALARY > 60000 OR BENEFITS > 12000;

Vẫn theo bảng điều kiện ở bảng trên, chúng ta sẽ lấy ví dụ về cách sử dụng câu lệnh IN và BETWEEN.

Muốn list tất cả managers và staff ta dùng câu lệnh:

SELECT EMPLOYEEIDNO

FROM EMPLOYEESTATISTICSTABLE

WHERE POSITION IN ('Manager', 'Staff');

Muốn truy xuất EMPLOYEEIDNO có salary lớn hơn hoặc bằng 30.000 và nhỏ hơn 50.000 ta sẽ sử dụng câu lệnh:

SELECT EMPLOYEEIDNO

FROM EMPLOYEESTATISTICSTABLE

WHERE SALARY BETWEEN 30000 AND 50000;

Còn nếu lương nằm ngoài khoảng trên sẽ sử dụng câu lệnh:

SELECT EMPLOYEEIDNO

FROM EMPLOYEESTATISTICSTABLE

WHERE SALARY NOT BETWEEN 30000 AND 50000;

(continue)

0