0% found this document useful (0 votes)
22 views3 pages

SQL Cheatsheet

sql clause

Uploaded by

Như Ý Mai
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views3 pages

SQL Cheatsheet

sql clause

Uploaded by

Như Ý Mai
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Ví dụ:

SQL CHEAT SHEET


SELECT * FROM students WHERE age >= 18

Trả về tất cả các hàng từ bảng "students" mà tuổi của sinh


Truy vấn cơ bản trong SQL viên là lớn hơn hoặc bằng 18

SELECT - FROM SELECT * FROM students WHERE class_id IN


(101, 102, 103)
SELECT * FROM mytable
Trả về tất cả các hàng từ bảng "students" mà class_id nằm
Trả về mọi cột và mọi hàng của bảng có tên là table_name.
trong các giá trị (101, 102, 103)
SELECT column1, column2, column3 LƯU Ý: Có thể kết hợp nhiều điều kiện với OR hoặc AND
FROM table_name khi sử dụng lệnh WHERE

Trả về cột column1, column2, column3 của bảng có tên là SELECT * FROM students WHERE age = 18 OR
table_name. age = 19

LIMIT Trả về tất cả các hàng từ bảng "students" mà tuổi của sinh
viên là 18 hoặc 19
SELECT * FROM table_name LIMIT 10
Ví dụ thêm về câu lệnh LIKE:
Trả về mọi cột và mười hàng đầu tiên từ table_name.
SELECT * FROM customer
OFFSET WHERE last_name LIKE 'R%t' OR last_name
LIKE '%e'
SELECT * FROM table LIMIT 10 OFFSET 20
Chọn khách hàng có last_name bắt đầu bằng chữ R và kết
Bỏ qua 20 hàng trước khi trả về các hàng trong truy vấn thúc bằng t, hoặc khách hàng có last_name kết thúc bằng e
Lọc dữ liệu với WHERE SELECT * FROM customer WHERE country LIKE
'U_'
SELECT * FROM table_name WHERE column1 =
"expression" Chọn khách hàng ở quốc gia có tên bắt đầu bằng U và được
theo sau bằng 1 ký tự

= Bằng Sắp xếp giá trị với ORDER BY


<> hoặc != Khác
SELECT * FROM table_name ORDER BY column1
Nhỏ hơn, Lớn hơn, Nhỏ hơn hoặc ASC
< , > , <= , >=
bằng, Lớn hơn hoặc bằng
Truy vấn trả về mọi hàng và cột từ table_name, được sắp
So sánh một giá trị với các giá trị xếp theo column 1, theo thứ tự tăng dần. Có thể bỏ lệnh
tương tự. Trong đó ASC bởi thứ tự sẽ mặc định là tăng dần
LIKE "..." % - Đại diện cho một chuỗi ký tự
NOT LIKE "..." với độ dài bất kỳ (bao gồm cả độ SELECT * FROM table_name ORDER BY column1
DESC
dài 0).
_ - Đại diện cho 1 ký tự đơn lẻ Truy vấn trả về mọi hàng và cột từ table_name, được sắp
IN ("exp1", Chứa bất kỳ trong số các giá trị xếp theo column 1, theo thứ tự giảm dần
"exp2", "exp3" “exp1”, “exp2”, “exp3”
Giá trị riêng biệt (Unique Value)
BETWEEN ... AND
Thuộc dãy số từ … đến
... SELECT DISTINCT(column1) FROM table_name
NOT IN (...) or Trả về mọi giá trị duy nhất từ column1 từ table_name
Không chứa giá trị nào trong các
NOT BETWEEN
số cho trước hay dãy số
... AND ...

NULL or IS NOT Có chứa giá trị NULL hoặc không


NULL chứa NULL

________________________________________________________________________________________
Làm Test: “Bạn có phù hợp với với Phân tích dữ liệu - Data Analysis?”
Tìm hiểu thêm về Phân tích dữ liệu
Hàm tổng hợp (Aggregate Functions) HAVING
5 hàm tổng hợp thông dụng nhất: WHERE được thực thi trước hàm tổng hợp (Aggregate
Functions) nên cần dùng HAVING để lọc giá trị
COUNT - Đếm giá trị cho các hàng trong nhóm
AVG − Giá trị trung bình của các hàng trong nhóm SELECT column1, COUNT(column2)
FROM table_name
COUNT − Đếm giá trị các hàng trong nhóm GROUP BY column1
HAVING COUNT(column2) > 100
MAX − Giá trị lớn nhất trong nhóm
Đếm số lượng giá trị trong column2 - cho mỗi nhóm giá trị
MIN − Giá trị nhỏ nhất trong nhóm column1 duy nhất. Nó chỉ trả về các kết quả mà giá trị ở cột
SUM − Tổng các giá trị trong nhóm COUNT(column2) lớn hơn 100

Ví dụ: JOIN
SELECT COUNT(*) FROM table Nối bảng đầu tiên và bảng thứ hai có cùng khóa để tạo
các hàng với các cột kết hợp từ cả hai bảng.
Số lượng hàng trong bảng

SELECT COUNT(column) FROM table

Số lượng giá trị không NULL trong cột "column"

SELECT COUNT(DISTINCT column) FROM table

Số lượng giá trị duy nhất trong cột "column" (Loại bỏ các SELECT column, another_table_column, …
giá trị trùng lặp và chỉ đếm các giá trị duy nhất) FROM mytable
JOIN another_table
GROUP BY ON [Link] = another_table.id
WHERE condition(s)
GROUP BY nhóm các hàng có cùng giá trị trong một hoặc ORDER BY column, … ASC/DESC
nhiều cột. Thường được sử dụng kết hợp với các hàm tổng
hợp để tính toán thống kê cho mỗi nhóm. LEFT JOIN
Ví dụ: Trả về tất cả bản ghi từ bảng trái và bản ghi tương ứng từ
bảng phải. Nếu không khớp, giá trị NULL sẽ được hiển thị
SELECT column1, COUNT(column2) FROM cho các cột của bảng bên phải.
table_name GROUP BY column1

Đếm số lượng giá trị trong column2 - cho mỗi nhóm giá trị
column1 duy nhất

SELECT column1, MIN(column2) FROM


table_name GROUP BY column1
SELECT column, another_column, …
Tìm giá trị nhỏ nhất trong column2 - cho mỗi nhóm giá trị FROM mytable
column1 duy nhất LEFT JOIN another_table
ON [Link] =
Đổi tên cột/bảng với ALIASES another_table.matching_id
WHERE condition(s)
Bạn có thể đổi tên các cột, bảng, câu truy vấn phụ, hoặc
bất cứ thứ gì. OUTER JOIN (FULL OUTER JOIN)
SELECT column1, Bất kỳ hàng nào từ một trong hai bảng được nối không
COUNT(column2) AS number_of_values khớp cũng sẽ được trả về cùng với tập kết quả nối bên
FROM table_name
GROUP BY column1 trong.
Trường hợp sử dụng FULL OUTER JOIN khá ít nên bạn có
Đếm số lượng giá trị trong column2 - cho mỗi nhóm giá trị thể xem thêm ví dụ TẠI ĐÂY
column1 duy nhất. Sau đó, đổi tên cột COUNT(column2)
thành number_of_values

________________________________________________________________________________________
Làm Test: “Bạn có phù hợp với với Phân tích dữ liệu - Data Analysis?”
Tìm hiểu thêm về Phân tích dữ liệu
Subquery WHERE condition
)
Subquery (Truy vấn con) là một truy vấn được nhúng bên
trong một truy vấn khác. Thường được sử dụng để trích SELECT ... FROM cte_name
xuất dữ liệu từ một bảng hoặc nhiều bảng dựa trên kết
quả của truy vấn chính UNION, INTERSECT, EXCEPT
SINGLE VALUE:
Ví dụ: Lấy tên của nhân viên có mức lương cao nhất trong
công ty

SELECT employee_name
FROM employee
WHERE salary = (SELECT MAX(salary) FROM
employee)

Truy vấn “SELECT MAX(salary) FROM” company chỉ trả về


một giá trị đơn lẻ là con số lương cao nhất trong bảng
“company”
MULTIPLE VALUE
Ví dụ: Lấy tên của các nhân viên làm trong các phòng ban
có trụ sở tại Hồ Chí Minh

SELECT employee_name
FROM company
WHERE department_id IN (
SELECT department_id
FROM department
WHERE address = 'Ho Chi Minh City'
)

Truy vấn trả về một danh sách giá trị mã phòng ban
“department_id”
CORRELATED
Ví dụ: Lấy tên của nhân viên và mức lương cao nhất trong
phòng ban của họ

SELECT E.employee_name, D.department_name,


(SELECT MAX(salary)
FROM employee AS EM
WHERE EM.department_id =
E.department_id) AS HighestSalary
FROM employee AS E
JOIN department AS D ON E.department_id =
D.department_id

Subquery được thực thi độc lập cho mỗi nhân viên, sử dụng
department_id từ bảng employee để tìm mức lương cao
nhất trong cùng phòng ban đó.

CTE (COMMON TABLE EXPRESS)


Đặt tên và sử dụng một bảng tạm thời trong phạm vi của
một truy vấn cụ thể

WITH cte_name (column_name1, column_name2,


...) AS (
SELECT column_name1, column_name2, ...
FROM table_name
________________________________________________________________________________________
Làm Test: “Bạn có phù hợp với với Phân tích dữ liệu - Data Analysis?”
Tìm hiểu thêm về Phân tích dữ liệu

You might also like