Các câu lệnh trong Basic SQL Commands - Phần 1
Bài đăng này đã không được cập nhật trong 7 năm
Chúng ta có table Store_Information sau:
Store_Name | Sales | Txn_Date |
---|---|---|
Los Angeles | 1500 | Jan-05-1999 |
San Diego | 250 | Jan-07-1999 |
Los Angeles | 300 | Jan-08-1999 |
Boston | 700 | Jan-08-1999 |
1. SQL SELECT
- Câu lệnh SELECT trong SQL được sử dụng để lấy dữ liệu từ cơ sở dữ liệu quan hệ.
- Cú pháp
SELECT "column_name1", "column_name2", "column_name3" FROM "table_name";
Example 1: Select one column
SELECT Store_Name FROM Store_Information;
Results:
Store_Name |
---|
Los Angeles |
San Diego |
Los Angeles |
Boston |
Example 2: Select multiple columns
SELECT Store_Name, Sales FROM Store_Information;
Result:
Store_Name | Sales |
---|---|
Los Angeles | 1500 |
San Diego | 250 |
Los Angeles | 300 |
Boston | 700 |
Example 3: Select all columns
SELECT * FROM Store_Information;
Result:
Store_Name | Sales | Txn_Date |
---|---|---|
Los Angeles | 1500 | Jan-05-1999 |
San Diego | 250 | Jan-07-1999 |
Los Angeles | 300 | Jan-08-1999 |
Boston | 700 | Jan-08-1999 |
2. SQL DISTINCT
- Trong SQL, từ khóa DISTINCT được sử dụng trong câu lệnh SELECT để lấy các giá trị duy nhất từ một bảng cơ sở dữ liệu. Bất kỳ giá trị nào có trùng lặp sẽ chỉ hiển thị một lần.
- Cú Pháp:
SELECT DISTINCT "column_name"
FROM "table_name";
Example 1: Use DISTINCT on one column:
SELECT DISTINCT Store_Name FROM Store_Information;
Result :
Store_Name |
---|
Los Angeles |
San Diego |
Boston |
Example 2: Use DISTINCT on multiple columns
SELECT DISTINCT Store_Name, Txn_Date FROM Store_Information;
Result:
Store_Name | Txn_Date |
---|---|
Los Angeles | Jan-05-1999 |
San Diego | Jan-07-1999 |
Los Angeles | Jan-08-1999 |
Boston | Jan-08-1999 |
3. SQL AND OR
- Các từ khoá AND và OR là các toán tử Boolean được sử dụng để chỉ định các điều kiện phức hợp trong mệnh đề WHERE.
- Cú Pháp:
SELECT "column_name"
FROM "table_name"
WHERE "simple condition"
{ [AND|OR] "simple condition"}+;
Example : Nếu chúng ta muốn chọn tất cả các cửa hàng có doanh thu lớn hơn 1.000 đô la hoặc tất cả các cửa hàng có doanh thu dưới 500 đô la nhưng cao hơn 275 đô la trong Store_Information table.
SELECT Store_Name
FROM Store_Information
WHERE Sales > 1000
OR (Sales < 500 AND Sales > 275);
Result:
Store_Name |
---|
Los Angeles |
San Diego |
4. SQL IN
- Toán tử IN trong SQL lọc tập kết quả dựa trên một danh sách các giá trị rời rạc. Danh sách các giá trị rời rạc có thể đơn giản được liệt kê ra hoặc được cung cấp bởi một câu lệnh SELECT riêng biệt (được gọi là truy vấn con).
- Toán tử IN luôn được sử dụng với mệnh đề WHERE.
- Cú Pháp:
SELECT "column_name"
FROM "table_name"
WHERE "column_name" IN ('value1', 'value2', ...);
Example : Để chọn tất cả hồ sơ cho các cửa hàng ở Los Angeles và San Diego trong Table Store_Information.
SELECT *
FROM Store_Information
WHERE Store_Name IN ('Los Angeles', 'San Diego');
Result:
Store_Name | Sales | Txn_Date |
---|---|---|
Los Angeles | 1500 | Jan-05-1999 |
San Diego | 250 | Jan-07-1999 |
5. SQL BETWEEN
- Toán tử BETWEEN được sử dụng khi các tiêu chí lọc là một dải liên tục có giá trị lớn nhất và giá trị nhỏ nhất. Nó luôn luôn được sử dụng trong mệnh đề WHERE.
- Cú Pháp:
SELECT "column_name"
FROM "table_name"
WHERE "column_name" BETWEEN 'value1' AND 'value2';
Example 1: Để chọn xem tất cả thông tin bán hàng từ ngày 6 tháng 1 năm 1999 đến ngày 10 tháng 1 năm 1999.
SELECT *
FROM Store_Information
WHERE Txn_Date BETWEEN 'Jan-06-1999' AND 'Jan-10-1999';
Results:
Store_Name | Sales | Txn_Date |
---|---|---|
San Diego | 250 | Jan-07-1999 |
Los Angeles | 300 | Jan-08-1999 |
Boston | 700 | Jan-08-1999 |
Example 2: Chúng tôi cũng có thể sử dụng toán tử BETWEEN để loại trừ một loạt các giá trị bằng cách thêm NOT vào trước BETWEEN.
SELECT *
FROM Store_Information
WHERE Sales NOT BETWEEN 280 and 1000;
Results:
Store_Name | Sales | Txn_Date |
---|---|---|
Los Angeles | 1500 | Jan-05-1999 |
San Diego | 250 | Jan-07-1999 |
6. SQL LIKE
- Toán tử LIKE được sử dụng để lọc tập kết quả dựa trên string pattern. Nó luôn luôn được sử dụng trong mệnh đề WHERE.
- Cú Pháp:
SELECT "column_name"
FROM "table_name"
WHERE "column_name" LIKE {PATTERN};
Example chúng ta muốn tìm tất cả các stores có contains là "AN"
SELECT *
FROM Store_Information
WHERE Store_Name LIKE '%AN%';
Result:
Store_Name | Sales | Txn_Date |
---|---|---|
Los Angeles | 1500 | Jan-05-1999 |
San Diego | 250 | Jan-07-1999 |
Los Angeles | 300 | Jan-08-1999 |
7. SQL ORDER BY
- Lệnh ORDER BY trong SQL sắp xếp kết quả theo thứ tự tăng dần hoặc giảm dần. ORDER BY thường xuất hiện cuối cùng trong câu lệnh SQL vì nó được thực hiện sau khi tập kết quả được lấy ra.
- Cú pháp:
SELECT "column_name"
FROM "table_name"
[WHERE "condition"]
ORDER BY "column_name" [ASC, DESC];
Example 1: ORDER BY một cột bằng cách sử dụng tên cột.
SELECT Store_Name, Sales, Txn_Date
FROM Store_Information
ORDER BY Sales DESC;
Result:
Store_Name | Sales | Txn_Date |
---|---|---|
Los Angeles | 1500 | Jan-05-1999 |
Boston | 700 | Jan-08-1999 |
Los Angeles | 300 | Jan-08-1999 |
San Diego | 250 | Jan-07-1999 |
Example 2: ORDER BY một cột đơn sử dụng vị trí cột
SELECT Store_Name, Sales, Txn_Date
FROM Store_Information
ORDER BY 2 DESC;
Example 3: ORDER BY một cột bằng cách sử dụng một cột không có trong câu lệnh SELECT
SELECT Store_Name
FROM Store_Information
ORDER BY Sales DESC;
8. SQL GROUP BY
- Mệnh đề GROUP BY trong SQL được sử dụng kết hợp với lệnh SELECT để sắp xếp dữ liệu đồng nhất vào trong các nhóm.
- Cú pháp:
SELECT "column_name1", "function type" ("column_name2")
FROM "table_name"
GROUP BY "column_name1";
Example 1: GROUP BY theo một cột
SELECT Store_Name, SUM(Sales)
FROM Store_Information
GROUP BY Store_Name;
Example 2: GROUP BY nhiều cột
SELECT Store_Name, Product_ID, SUM(Sales)
FROM Store_Information
GROUP BY Store_Name, Product_ID;
Example 3: GROUP BY nhiều cột và nhiều chức năng
SELECT Store_Name, Product_ID, SUM(Sales), AVG(Sales)
FROM Store_Information
GROUP BY Store_Name, Product_ID;
Example 4: Group by month / date / week
SELECT Txn_Date, SUM(Sales)
FROM Store_Information
GROUP BY Txn_Date
ORDER BY Txn_Date;
9. SQL HAVING
- Mệnh đề HAVING trong SQL cho bạn khả năng để xác định các điều kiện để lọc nhóm kết quả nào sẽ xuất hiện trong kết quả cuối cùng.
- Mệnh đề WHERE đặt các điều kiện trên các cột đã lựa chọn, trong khi mệnh đề HAVING đặt các điều kiện trên các nhóm đã được tạo bởi mệnh đề GROUP BY.
- Cú pháp:
SELECT ["column_name1"], "function type" ("column_name2")
FROM "table_name"
[GROUP BY "column_name1"]
HAVING (arithmetic function condition);
Example : Tìm Store với sales > $1,500.
SELECT Store_Name, SUM(Sales)
FROM Store_Information
GROUP BY Store_Name
HAVING SUM(Sales) > 1500;
Result:
Store_Name | Sum( Sales) |
---|---|
Los Angeles | 1800 |
10. SQL ALIAS
- Column alias (bí danh cột) được sử dụng để thay tên tạm thời cho một cột trong bảng để đáp ứng mục đích của một truy vấn SQL cụ thể.
- Cú pháp
SELECT "table_alias"."column_name1" "column_alias"
FROM "table_name" "table_alias";
Example: Group by theo 1 cột sử dụng ALIAS
SELECT A1.Store_Name Store, SUM(A1.Sales) "Total Sales"
FROM Store_Information A1
GROUP BY A1.Store_Name;
Result:
Store_Name | Total Sales |
---|---|
Los Angeles | 1800 |
Boston | 700 |
San Diego | 250 |
11. SQL AS
- AS trong SQL được sử dụng để gán tạm thời một tên mới cho một cột trong bảng.
- Cú pháp:
SELECT "table_alias"."column_name1" AS "column_alias"
FROM "table_name" AS "table_alias";
Example : Tìm tổng doanh số của Stores sử dụng AS như là một phần của bí danh bảng và cột.
SELECT A1.Store_Name Store, SUM(A1.Sales) AS "Total Sales"
FROM Store_Information AS A1
GROUP BY A1.Store_Name;
Result:
Store_Name | Sales | Txn_Date |
---|---|---|
Los Angeles | 1800 | Jan-05-1999 |
San Diego | 250 | Jan-07-1999 |
Boston | 700 | Jan-08-1999 |
Phần 2 mình sẽ cập nhập sau ạ
All rights reserved