WHERE – GROUP BY – HAVING – ORDER BY

Ngày tạo 18/04/2022

 -  516 Lượt xem

1.Câu lệnh WHERE

Dùng để lọc dữ liệu theo điều kiện cho trước. Sau where có thể kết hợp với các câu lệnh khác để sắp xếp và hiệu chỉnh dữ liệu.

Cú pháp:

SELECT col_1,…col_n FROM [Table_name$] WHERE col_name + toán tử (>/</=/LIKE/AND/OR/BETWEEN)

Lưu ý:

WHERE với data là số: không có cặp dấu nháy đơn bao quanh điều kiện

WHERE với data là chuỗi: có cặp dấu nháy đơn ‘’ bao quanh điều kiện

WHERE với data là thời gian: có cặp dấu #...# bao quanh điều kiện.

Với dữ liệu thời gian bạn hãy nhập theo đúng định dạng MM/DD/YYYY

Ví dụ:

SELECT PO_Number, Vendor_name FROM [PO_detail$] WHERE  

PO_date BETWEEN #2020-01-01# AND #2020-31-10#

 Kết quả trả về là cột PO_Number, Vendor_name trong bảng PO_detail  có PO_date  từ 2020/1/1 đến 2020/31/10.

2.GROUP BY

GROUP BY: dùng để nhóm các dữ liệu sau khi thực hiện phép toán. Phải Group by tất cả các cột được chọn và KHÔNG Group by với các cột TÍNH TOÁN. Mỗi cột cách nhau bới dấu phẩy.

Cú pháp: SELECT col_1, sum(col_2) FROM [Table_name$] GROUP BY col_1

Trong đó Sum là phép tính có thể thay thế với các phép tính khác như (Sum, min, max, average,…)

3.HAVING

HAVING: Dùng để thêm điều kiện tính toán sau WHERE hoặc thay thế WHERE

Cú pháp:

SELECT col_1, sum (col_2) as Sumary FROM [Table_name$] GROUP  BY col_1 HAVING sum(col_2) >1000 Trong đó: sum(col_2) có tên là Sumary khi dùng Having với cột tính toán thì không được dùng tên.

Trong trường hợp trên nếu dùng HAVING Sumary sẽ bị lỗi.

4.ORDER BY

ORDER BY: dùng để sắp xếp dữ liệu sau khi tính toán.

Có 2 các sắp xếp:

Tăng dần: ASC

Giảm dần: DESC

Cú pháp:

SELECT col_1, sum col_2, col_3 FROM [Table_name$] WHERE….ORDER BY Col_1 ASC, col_3 DESC

Có thể ORDER BY nhiều cột, mỗi cột cách nhau bới dấu phẩy và sau tên cột sẽ có thuộc tính tang (ASC) hoặc giảm (DESC)

Nếu sau tên cột không truyền thuộc tính tang hoặc giảm thì SQL sẽ tự động hiểu rằng bạn sắp xếp tăng dần.

 

 

1.Câu lệnh WHERE

Dùng để lọc dữ liệu theo điều kiện cho trước. Sau where có thể kết hợp với các câu lệnh khác để sắp xếp và hiệu chỉnh dữ liệu.

Cú pháp:

SELECT col_1,…col_n FROM [Table_name$] WHERE col_name + toán tử (>/</=/LIKE/AND/OR/BETWEEN)

Lưu ý:

WHERE với data là số: không có cặp dấu nháy đơn bao quanh điều kiện

WHERE với data là chuỗi: có cặp dấu nháy đơn ‘’ bao quanh điều kiện

WHERE với data là thời gian: có cặp dấu #...# bao quanh điều kiện.

Với dữ liệu thời gian bạn hãy nhập theo đúng định dạng MM/DD/YYYY

Ví dụ:

SELECT PO_Number, Vendor_name FROM [PO_detail$] WHERE  

PO_date BETWEEN #2020-01-01# AND #2020-31-10#

 Kết quả trả về là cột PO_Number, Vendor_name trong bảng PO_detail  có PO_date  từ 2020/1/1 đến 2020/31/10.

2.GROUP BY

GROUP BY: dùng để nhóm các dữ liệu sau khi thực hiện phép toán. Phải Group by tất cả các cột được chọn và KHÔNG Group by với các cột TÍNH TOÁN. Mỗi cột cách nhau bới dấu phẩy.

Cú pháp: SELECT col_1, sum(col_2) FROM [Table_name$] GROUP BY col_1

Trong đó Sum là phép tính có thể thay thế với các phép tính khác như (Sum, min, max, average,…)

3.HAVING

HAVING: Dùng để thêm điều kiện tính toán sau WHERE hoặc thay thế WHERE

Cú pháp:

SELECT col_1, sum (col_2) as Sumary FROM [Table_name$] GROUP  BY col_1 HAVING sum(col_2) >1000 Trong đó: sum(col_2) có tên là Sumary khi dùng Having với cột tính toán thì không được dùng tên.

Trong trường hợp trên nếu dùng HAVING Sumary sẽ bị lỗi.

4.ORDER BY

ORDER BY: dùng để sắp xếp dữ liệu sau khi tính toán.

Có 2 các sắp xếp:

Tăng dần: ASC

Giảm dần: DESC

Cú pháp:

SELECT col_1, sum col_2, col_3 FROM [Table_name$] WHERE….ORDER BY Col_1 ASC, col_3 DESC

Có thể ORDER BY nhiều cột, mỗi cột cách nhau bới dấu phẩy và sau tên cột sẽ có thuộc tính tang (ASC) hoặc giảm (DESC)

Nếu sau tên cột không truyền thuộc tính tang hoặc giảm thì SQL sẽ tự động hiểu rằng bạn sắp xếp tăng dần.

 

 

Web Admin

 
 
Gọi (028) 3514 2046