12/08/2018, 15:29

Các câu lệnh trong Basic SQL Commands - Phần 1

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ơ ...

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 > $$,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 ạ

0