Facebook Pixel

SQL Cheat Sheet dành cho người mới

29 Jul, 2022

Pum

Author

Dưới đây là SQL Cheat Sheet chứa các lệnh hữu ích nhất. Các Cheat Sheet này giúp bạn tham chiếu các lệnh với các cú pháp một cách nhanh nhất.

SQL Cheat Sheet dành cho người mới

Mục Lục

Bạn có thể tham khảo bài viết này để hiểu rõ hơn SQL là gì nhé!

SQL là gì? Ưu điểm, nhược điểm và các câu lệnh trong SQL
SQL là ngôn ngữ máy tính cơ sở dữ liệu được thiết kế để truy xuất và quản lý dữ liệu trong cơ sở dữ liệu quan hệ.

SQL là gì? Ưu điểm, nhược điểm và các câu lệnh trong SQL

Dưới đây là SQL Cheat Sheet chứa các lệnh hữu ích nhất. Các Cheat Sheet này sẽ giúp bạn tham chiếu các lệnh với các cú pháp một cách nhanh chóng nhất. Trong bài viết này, chúng ta sẽ chỉ tập trung vào các lệnh DDL và DML vì TCL và DCL sử dụng khá đơn giản.

Định nghĩa về dữ liệu và truy vấn thao tác

Lệnh ADD

ADD dùng để thêm một cột mới vào một bảng đã tồn tại.

Ví dụ:

SQL
ALTER TABLE employee ADD last_name varchar2(255); ALTER TABLE employee ADD CONSTRAINT emp_det PRIMARY KEY (id, last_name); 

Lệnh ALTER TABLE

ALTER TABLE được sử dụng để thêm, xóa hoặc cập nhật các cột trong một bảng đã tồn tại trước đó. Nó cũng có thể được dùng để xoá bỏ các ràng buộc toàn vẹn trên bảng hiện có.

Ví dụ:

SQL
   ALTER TABLE employee ADD last_name varchar2(255); 
SQL
 ALTER TABLE employee DROP COLUMN last_name;

Lệnh ALTER COLUMN

ALTER COLUMN dùng để thay đổi loại dữ liệu của cột.

Ví dụ:

SQL
 ALTER TABLE employee ALTER COLUMN joining_date datetime;

Lệnh ALL

Toán tử ALL sẽ:

  • Trả về kết quả là một giá trị boolean.
  • Trả về TRUE nếu tất cả các giá trị con khớp với điều kiện.
  • Thường được dùng với các mệnh đề SELECT, WHERE và HAVING.

Ví dụ:

SQL
SELECT employee_name, joining_date from employee WHERE employee_id = ALL (select employee_id from department_details WHERE department = ‘R&D’);

Lệnh AND

Toán tử AND sẽ:

  • Được dùng để kiểm tra 2 hoặc nhiều điều kiện trong các lệnh SELECT, INSERT, UPDATE hoặc DELETE.
  • Trả về TRUE khi tất cả các điều kiện trong mệnh đề WHERE được thỏa mãn.

Ví dụ:

SQL
SELECT employee_name, salary from employee WHERE city = ‘California’ AND salary > 2000;

Lệnh ANY

Toán tử ANY sẽ:

  • Trả về kết quả là một giá trị kiểu boolean.
  • Trả về TRUE nếu có bất kỳ giá trị con nào khớp với điều kiện.

Ví dụ:

SQL
SELECT employee_id, employee_name from employee WHERE employee_id = ANY (select employee_id from department_details WHERE department = ‘HR’ OR department = ‘R&D’);

Lệnh AS

AS được dùng để tạo tên tạm thời (gọi là bí danh) cho cột hoặc bảng.

Ví dụ:

SQL
SELECT count(employee_id) AS employees_from_houston from employee WHERE city = 'Houston';

Lệnh ASC

ASC được sử dụng để sắp xếp dữ liệu theo thứ tự tăng dần, sử dụng theo mệnh đề ORDER BY.

Ví dụ:

SQL
SELECT employee_name, joining_date, salary from employee ORDER BY employee_name ASC;

Lệnh BETWEEN

BETWEEN chọn các giá trị trong một phạm vi.

Ví dụ:

SQL
SELECT employee_name, joining_date, department_id from employee WHERE salary  BETWEEN 40000 AND 100000;

Lệnh CASE

Câu lệnh CASE đi qua các điều kiện và trả về một giá trị khi điều kiện đầu tiên được đáp ứng. Nếu:

  • Điều kiện là đúng, nó sẽ dừng đọc và trả về kết quả. Nếu không có điều kiện nào đúng, nó sẽ trả về giá trị trong mệnh đề ELSE.
  • Không có phần ELSE và không có điều kiện nào là đúng, nó sẽ trả về NULL.

Ví dụ:

SQL
SELECT order_amount, customer_id, contact_email CASE WHEN order_amount > 3000 THEN "Eligible for 40% discount" WHEN order_amount between 2000 and 3000 THEN "Eligible for 25% discount" ELSE "Eligible for 5% discount" END FROM order_details;

Lệnh CREATE DATABASE

CREATE DATABASE được sử dụng để tạo cơ sở dữ liệu SQL mới.

Ví dụ:

SQL
CREATE DATABASE movies_development;

Lệnh CREATE TABLE

CREATE TABLE được sử dụng để tạo bảng mới với tên bảng và tên cột được chỉ định.

Ví dụ:

SQL
CREATE TABLE movie_info (movie_name varchar2(255), release_date datetime, lead_actor varchar2(255), music_director varchar2(255));

‌Lệnh DEFAULT

DEFAULT được sử dụng để thiết lập một giá trị mặc định cho một cột. Được sử dụng với các lệnh CREATE và ALTER TABLE.

Ví dụ:

SQL
CREATE TABLE employee (joining_date SET DEFAULT CURRENT_DATE);
SQL
ALTER TABLE product ALTER is_available SET DEFAULT true;

Lệnh DELETE

DELETE được sử dụng để xóa dữ liệu khỏi bảng được chỉ định.

Ví dụ:

SQL
DELETE from employee where employee_id = 345;

Lệnh DESC

DESC được sử dụng để sắp xếp dữ liệu theo thứ tự giảm dần, sử dụng theo mệnh đề ORDER BY.

Ví dụ:

SQL
SELECT employee_name, joining_date, salary from employee ORDER BY employee_name DESC;

Lệnh DROP COLUMN

DROP COLUMN được dùng để xóa cột được chỉ định khỏi bảng được chỉ định.

Ví dụ:

SQL
ALTER TABLE employee DROP COLUMN employee_name;

Lệnh DROP DATABASE

DROP DATABASE dùng để xóa toàn bộ cơ sở dữ liệu.

Ví dụ:

SQL
DROP DATABASE movies_development;

Lệnh DROP DEFAULT

DROP DEFAULT dùng để xóa giá trị mặc định của cột được chỉ định.

Ví dụ:

SQL
ALTER TABLE employee ALTER COLUMN is_available DROP DEFAULT;

Lệnh DROP TABLE

DROP TABLE được dùng để xóa bảng được chỉ định.

Ví dụ:

SQL
DROP TABLE employee;

Lệnh EXISTS

Toán tử EXISTS được sử dụng để:

  • Kiểm tra sự tồn tại của bất kỳ bản ghi nào trong một truy vấn con.
  • Trả về giá trị TRUE nếu truy vấn con trả về một hoặc nhiều bản ghi.

Ví dụ:

SQL
SELECT employee_id, contact_number FROM employee WHERE EXISTS (SELECT employee_id, department FROM department WHERE employee_id = 345 AND department = 'HR');

Lệnh FROM

FROM được dùng để được sử dụng để liệt kê các bảng và các phép giao cần thiết cho câu lệnh SQL

Ví dụ:

SQL
SELECT * FROM employee; DELETE FROM employee where employee_id = 345;

Lệnh GROUP BY

GROUP BY được dùng để kết hợp với lệnh SELECT để sắp xếp dữ liệu từ nhiều bản ghi đồng nhất vào trong các nhóm.

Ví dụ:

Hiển thị số lượng nhân viên ở mỗi quốc gia.

SQL
SELECT COUNT(employee_id), country from employee GROUP BY country;

Hiển thị xếp hạng trung bình nhân viên của mỗi bộ phận.

SQL
SELECT AVG(rating), department from employee GROUP BY department;

Lệnh IN

IN được dùng để chọn nhiều giá trị cùng một lúc trong mệnh đề WHERE thay vì sử dụng điều kiện OR.

Ví dụ:

SQL
SELECT employee_name FROM employee WHERE country IN ('India', 'United Kingdom', 'Singapore', 'Australia');

Lệnh INDEX

INDEX làm cho dữ liệu truy vấn hiệu quả và nhanh hơn, thường được tạo trên các cột được tìm kiếm nhiều nhất.

Ví dụ:

Tạo INDEX

SQL
CREATE INDEX idx_employee ON employee (first_name, last_name);

Tạo INDEX duy nhất trong đó các giá trị không thể được nhân đôi

SQL
CREATE UNIQUE INDEX idx_employee ON employee (first_name, last_name);

Xóa INDEX

SQL
ALTER TABLE employee DROP INDEX idx_employee;

Lệnh INSERT INTO

INSERT INTO dùng để thêm hàng mới vào bảng.

Ví dụ:

SQL
INSERT INTO employee (employee_id, employee_name, salary, core_skill) VALUES (451, ‘Lee Cooper’, 40000, ‘Java’);

Lệnh IS NULL

IS NULL dùng để kiểm tra các giá trị null.

Ví dụ:

SQL
SELECT employee_id from employee where employee_name IS NULL;

Lệnh IS NOT NULL

IS NOT NULL kiểm tra các giá trị không phải là null.

Ví dụ:

SQL
SELECT employee_id, core_skill from  employee where core_skill IS NOT NULL;

Lệnh LIKE

LIKE xác định xem một chuỗi ký tự có khớp với mẫu đã chỉ định hay không.

Ví dụ:

SQL
SELECT employee_id,  first_name, last_name  where  first_name LIKE ‘%tony’;

Lệnh NOT LIKE

NOT LIKE xác định xem một chuỗi ký tự không khớp với mẫu đã chỉ định.

Ví dụ:

SQL
SELECT employee_id,  first_name, last_name  where  first_name NOT LIKE ‘%tony’;

Lệnh OR

OR được dùng để kiểm tra nhiều điều kiện xem có bản ghi nào trong kết quả trả về đáp ứng được điều kiện hay không.

Ví dụ:

SQL
SELECT * from employee where country = ‘India’ OR country = ‘Australia’;

Lệnh ORDER BY

ORDER BY được sử dụng để sắp xếp dữ liệu theo thứ tự tăng dần (theo mặc định) hoặc thứ tự được chỉ định trong truy vấn (tăng dần hoặc giảm dần).

Ví dụ:

SQL
SELECT employee_name, salary from employee ORDER BY salary DESC;

Lệnh ROWNUM

ROWNUM được sử dụng để chỉ định số lượng bản ghi trả vềtheo mệnh đề WHERE.

Ví dụ:

SQL
SELECT * from employee where ROWNUM <= 5; This will return the first five rows in the resultset.

Lệnh SELECT

SELECT là lệnh được dùng để lấy kết quả từ một hoặc nhiều bảng trong cơ sở dữ liệu của SQL Server.

Ví dụ:

SQL
SELECT employee_id from employee; SELECT * from employee;

Lệnh SELECT INTO

SELECT INTO được dùng để tạo bảng từ 1 bảng sẵn có bằng cách sao chép các cột từ bảng ban đầu.

Ví dụ:

SQL
SELECT * INTO new_employee_info FROM employee; SELECT employee_name, joining_date, core_skill INTO new_employee_info FROM employee;

Lệnh SELECT TOP

SELECT TOP dùng để chọn số lượng bản ghi được chỉ định từ bảng.

Ví dụ:

SQL
SELECT TOP 5 employee_id from employee where employee_rating = 5;

Lệnh SET

SET dùng để đặt giá trị của một cột thành giá trị được chỉ định trong hoạt động UPDATE.

Ví dụ:

SQL
UPDATE employee SET first_name = ‘Tony’ WHERE employee_id = 345;

Lệnh SOME

SOME dùng để so sánh một giá trị với từng giá trị trong tập dữ liệu. SOME trả về TRUE nếu có một giá trị bất kỳ trong tập dữ liệu này thỏa mãn điều kiện. SOME và ANY về cơ bản hoàn toàn giống nhau.

Ví dụ:

SQL
SELECT employee_id, employee_name from employee WHERE salary > SOME (select salary from employee WHERE department = ‘HR’);

Lệnh TRUNCATE TABLE

TRUNCATE TABLE được sử dụng để xóa hoàn toàn các bản ghi từ một bảng đang tồn tại trong SQL.

Ví dụ:

SQL
TRUNCATE TABLE log_info;

Lệnh UNION

UNION được dùng để kết hợp 2 bộ kết quả từ 2 hoặc nhiều lệnh SELECT. Nó sẽ xóa các hàng trùng trong các lệnh SELECT này.

Ví dụ:

SQL
SELECT city from employee UNION SELECT city from office_locations;

Lệnh UNIQUE

UNIQUE được sử dụng để bảo đảm rằng chỉ các giá trị duy nhất được nhập vào trong cột hoặc một tập hợp các cột. Nó cho phép nhà phát triển chắc chắn rằng không có các giá trị trùng lặp được nhập vào.

Ví dụ:

SQL
CREATE TABLE employee (employee_id int NOT NULL, UNIQUE(employee_id));
SQL
ALTER TABLE employee ADD UNIQUE(employee_id);

Lệnh UPDATE

UPDATE được dùng để cập nhật các bản ghi hiện có trên một bảng trong cơ sở dữ liệu của SQL Server.

Ví dụ:

SQL
UPDATE employee SET first_name = ‘Tony’ WHERE employee_id = 345;

Lệnh VALUES

VALUES được sử dụng với lệnh INSERT để thêm một hàng giá trị mới vào bảng.

Ví dụ:

SQL
INSERT INTO employee (employee_id, employee_name, salary, core_skill) VALUES (451, ‘Lee Cooper’, 40000, ‘Java’);

Lệnh WHERE

WHERE được sử dụng để chỉ định điều kiện khi lấy dữ liệu từ một bảng hoặc nối nhiều bảng với nhau. Nếu điều kiện được thỏa mãn thì nó chỉ trả về những giá trị cụ thể trong bảng.

Ví dụ:

SQL
SELECT * from employee WHERE salary > 20000;

Chức năng tổng hợp

Hàm tổng hợp là các lệnh thao tác dữ liệu hoạt động trên các cột số như int và float, hữu ích trong việc lọc và sắp xếp dữ liệu ở cấp cơ sở dữ liệu. Một số hàm tổng hợp thường được sử dụng là:

Hàm AVG

AVG trong SQL Server trả về giá trị trung bình của một biểu thức hay giá trị trung bình theo cột được chỉ định của các dòng được chọn.

Ví dụ:

SQL
SELECT AVG(marks) from students where subject = ‘English’;

Hàm MIN

MIN trong SQL Server trả về giá trị nhỏ nhất của cột được chỉ định.

Ví dụ:

SQL
SELECT MIN(price) from product WHERE product_category = ‘shoes’;

Hàm MAX

MAX trong SQL Server trả về giá trị lớn nhất của cột được chỉ định.

Ví dụ:

SQL
SELECT MAX(quantity), product_name from inventory;

Hàm COUNT

COUNT trong SQL Server trả về số lượng các giá trị riêng biệt của cột nhất định.

Ví dụ:

SQL
SELECT COUNT(*) from employee; - returns total number of records in the employee table.<br><br>SELECT COUNT(*) from employee where salary > 20000; - returns number of employees whose salary is greater than 20000

Hàm SUM

SUM trong SQL Server trả về tổng các giá trị của cột số được chỉ định.

Ví dụ:

SQL
SELECT SUM(marks) from students where subject = ‘English’;

SQL Joins

SQL joins là phép kết nối dữ liệu từ nhiều bảng lại với nhau, nối 2 bảng, 3 bảng... với nhau. Khi bạn cần truy vấn các cột dữ liệu từ nhiều bảng khác nhau để trả về trong cùng một tập kết quả , bạn cần dùng JOIN.

INNER JOIN (Hoặc JOIN)

Trả về tất cả các hàng khi có ít nhất một giá trị ở cả hai bảng.

Cú pháp:

SELECT column1, column2… from table1 INNER JOIN table2 on table1.columnN = table2.columnN;

Ví dụ:

SQL
select c.customer_id, o.order_id, c.customer_phone from customer c INNER JOIN order o on c.customer_id = o.customer_id;

FULL OUTER JOIN (Hoặc OUTER JOIN)

Trả về tất cả các dòng đúng với 1 trong các bảng.

Cú pháp:

SELECT column1, column2… from table1 FULL OUTER JOIN table2 on table1.columnN = table2.columnN;

Ví dụ:

SQL
select c.customer_id, o.order_id, c.customer_phone from customer c FULL OUTER JOIN order o on c.customer_id = o.customer_id;

LEFT OUTER JOIN (Hoặc LEFT JOIN)

Trả lại tất cả các dòng từ bảng bên trái, và các dòng đúng với điều kiện từ bảng bên phải.

Cú pháp:

SELECT column1, column2… from table1 LEFT JOIN table2 on table1.columnN = table2.columnN;

Ví dụ:

SQL
select c.country_id, c.country_name, l.location_name from country c LEFT JOIN locations l on c.country_id = l.country_id;

RIGHT OUTER JOIN (Hoặc RIGHT JOIN)

Trả lại tất cả các hàng từ bảng bên phải, và các dòng thỏa mãn điều kiện từ bảng bên trái.

Cú pháp:

SELECT column1, column2… from table1 RIGHT JOIN table2 on table1.columnN = table2.columnN;

Ví dụ:

SQL
select c.country_id, c.country_name, l.location_name from country c RIGHT JOIN locations l on c.country_id = l.country_id;

Tài liệu

SQL là một công cụ quan trọng cho các nhà phát triển phần mềm, nhà khoa học dữ liệu (data scientists) và các nhà phân tích (data analysts). Một tài liệu tham khảo tiện dụng của các lệnh SQL dưới dạng cheat sheet có thể giúp bạn tiết kiệm rất nhiều thời gian và giúp bạn hiểu được đầu ra dự kiến ​​của mỗi từ khóa.

Để biết thêm thông tin, vui lòng tham khảo các tài nguyên sau:

SQL Tutorial: SQL Cheat Sheet

Intellipaat: SQL Commands Cheat Sheet

WebsiteSetup: SQL Cheat Sheet

ProgrammingWithMosh: SQL Cheat Sheet

PostgreSQL Cheat Sheet

Bài viết được dịch từ đây.

Nếu bạn có định hướng trở thành Data Analyst chuyên nghiệp thì bạn có thể tham khảo bộ khóa học toàn diện chuyên nghiệp với combo 4 khóa học trong 1 bootcamp của 200Lab tại đây.

Ngoài ra, bạn có thể nhấn vào link này để tham gia vào nhóm và nhận thêm nhiều tài liệu hữu ích khác về Data nhé!

Bài viết liên quan

Lập trình backend expressjs

xây dựng hệ thống microservices
  • Kiến trúc Hexagonal và ứng dụngal font-
  • TypeScript: OOP và nguyên lý SOLIDal font-
  • Event-Driven Architecture, Queue & PubSubal font-
  • Basic scalable System Designal font-

Đăng ký nhận thông báo

Đừng bỏ lỡ những bài viết thú vị từ 200Lab