Các câu lệnh truy vấn thường được sử dụng trong SQL phần 2

6. Update Data Cho Các Bản Ghi

Khi bạn muốn thay đổi các giá trị trong 1 hoặc nhiều Row chúng ta có thể sử dụng câu lệnh sau:

Cú pháp:

UPDATE table_name SET column1=value1,column2=value2,… WHERE some_column=some_value;

Ví dụ:

  • Thay đổi giá trị của Column Department thành “Manpower” nếu như Column đó có giá trị “HR”
Update Employee SET Department='Manpower' where Department='HR';

7. Show Unique Values

Với nhiều Row trong 1 Column thì có thể sẽ có nhiều giá trị trùng với nhau. Để có thể liệt kê những giá trị trong 1 Column mà không bị trùng lặp. Chúng ta có câu lệnh:

Cú pháp:

SELECT DISTINCT column_name,column_name FROM table_name;

Ví dụ:

  • Show tên các thành phố có trong thành Table Employee
Select distinct City from Employee;

8. Tạo Column Mới Từ Biểu Thức

Ngoài show các Column của 1 Table, bạn có thể show thêm các Column mà tự tạo ra bằng câu lệnh sau:

Cú pháp:

Select column_name, ..., expression AS new_column from table_name;

Ví dụ:

  • Tạo 1 Column mới với tên là Incentive và show 10% giá trị của Column Total_Payout
Select *, Total_Payout*01 as Incentive from Employee;

  • Tạo 1 Column mới với tên là City_Code và show 3 ký tự cuối của Column City
Select *, Left(City,3) as City_Code from Employee where Department="Admin";

9. JOIN TABLE

Không phải lúc cũng lấy được các giá trị cần thiết trong 1 Table. Vì SQL có chức năng có thể kết hợp dữ liệu từ 2 Table hoặc nhiều bảng khác nhau thông qua một khóa chung. Chức năng tương này được lại là JOIN. Có 4 loại chính:

  • INNER JOIN: Trả về các Row khi có khóa chung phù hợp trong cả 2 Table
  • LEFT JOIN: Trả lại tất cả các Row từ Table bên trái và các Row khớp từ Table bên phải
  • RIGHT JOIN: Trả lại tất cả các Row từ Table bên phải và các Row khớp từ Table bên trái
  • FULL JOIN: Trả lại tất cả các Row từ cả 2 Table, và điền vào đó giá trị NULL cho các giá trị không so khớp nhau.

Cú pháp:

SELECT table1.column1, table2.column2..... FROM table1 INNER | LEFT| RIGHT| FULL JOIN table2 ON table1.column = table2.column;

Ví dụ:

  • Để hiển thị tất cả các Row của Table Employee. Vì vậy, sẽ sử dụng LEFT JOIN
SELECT Employee.*,City_Cat.City_Category FROM Employee LEFT JOIN City_Cat ON Employee.City = City_Cat.City;

10. GROUP BY

Để thao tác tính trên 1 Column nhất định nào đấy. Trong SQL có lệnh GROUP BY để xử lý việc này.

Cú pháp:

SELECT column, aggregate_function(column) FROM table WHERE column operator value GROUP BY column;

Ví dụ:

  • Hiển thị tổng của Total_Payout theo giới tính
SELECT Gender, Sum(Total_Payout) from Employee Group by Gender;

  • Hiển thị tổng số Total_Payout và đếm Row theo giới tính và thành phố
SELECT Gender, City, Count(City), Sum(Total_Payout) from Employee Group by Gender, City;

PHẦN KẾT

Mình xin kết thúc tại đây. Cảm ơn các bạn đã đọc bài viết. Chúc các bạn thực hiện thành công.