Câu lệnh SELECT trong SQL

Câu lệnh SELECT trong SQL

Giới thiệu

Trong chương này, chúng ta sẽ tìm hiểu cách SELECT SQL hoạt động và các tùy chọn khác nhau được sử dụng với câu lệnh SELECT.

Câu lệnh SELECT trong SQL

Câu lệnh SQL SELECT được sử dụng để chọn dữ liệu từ một hoặc nhiều bảng cơ sở dữ liệu.
Câu lệnh SQL SELECT được sử dụng để chọn các bản ghi từ bảng dữ liệu RDBMS (Hệ thống quản lý cơ sở dữ liệu quan hệ). Câu lệnh SELECT có thể chọn tất cả các bản ghi, chọn một tập hợp các bản ghi dựa trên một điều kiện, lọc các bản ghi, sắp xếp các bản ghi, nhóm theo các bản ghi, v.v.
Dưới đây là một số trường hợp sử dụng của câu lệnh SQL SELECT.
  1. SQL Select *
  2. SQL Select Distinct
  3. SQL Select Where
  4. SQL Select Having
  5. SQL Select Order By
  6. SQL Select And, Or, Not
  7. SQL Select Insert Into
  8. Nested SQL Select
  9. SQL Select with Case
  10. SQL Select with If…Then

1. SQL SELECT *

Câu lệnh SELECT * chọn tất cả các hàng từ một bảng cơ sở dữ liệu.
  1. SELECT * FROM Table Name
SELECT tất cả các hàng từ một bảng, EmployeeDetail.
Đầu ra trông giống như sau
 select
GHI CHÚ
SELECT * không được khuyến nghị trừ khi bạn cần tất cả dữ liệu cột. Sử dụng định dạng SELECT Column1, Column2 fromTable_Name để có hiệu suất tốt hơn.
SELECT tên cột
Câu lệnh SELECT sau đây sử dụng tên cột để chọn dữ liệu từ một bảng.
Ví dụ SQL
  1. Select EmpName, EmpAddress from EmployeeDetail
Đầu ra trông giống như sau
SelectName

2. SQL SELECT DISTINCT

Câu lệnh SELECT DISTINCT được sử dụng để chỉ trả về các giá trị DISTINCT(khác nhau).
Bên trong một bảng, một cột thường có thể chứa nhiều giá trị trùng lặp và đôi khi bạn chỉ muốn liệt kê các giá trị (khác biệt) khác nhau.
Cú pháp
  1. SELECT DISTINCT columnname
  2. FROM tablename
Đầu ra trông giống như sau
DistinctSelect

3. SELECT FROM WHERE 

  • Câu lệnh SELECT WHERE được sử dụng để lọc các bản ghi.
  • Câu lệnh SELECT WHERE được sử dụng để chỉ trích xuất những bản ghi thỏa mãn một điều kiện đã chỉ định.
  • Câu lệnh SELECT WHERE không được sử dụng trong câu lệnh SELECT, nó được sử dụng trong câu lệnh UPDATE, DELETE, v.v.
Ví dụ : = > < >= <= <>
Đây là một ví dụ về câu lệnh bằng (=)
where
Đây là một ví dụ về câu lệnh lớn hơn (>)
Đây là một ví dụ về câu lệnh nhỏ hơn (<)
LessThan
Đây là một ví dụ về câu lệnh lớn hơn hoặc bằng (>=)
Đây là một ví dụ về câu lệnh nhỏ hơn hoặc bằng (<=)
LessThanEqual
Nhỏ hơn lớn hơn không bằng (< >).
Lưu ý: trong một số phiên bản của SQL, toán tử này có thể được viết là !=
Đây là một ví dụ về câu lệnh < >
LessThanGreaterThan

BETWEEN

Câu lệnh BETWEEN được sử dụng GIỮA một phạm vi nhất định cho SQL
Đầu ra trông giống như sau
Between

LIKE

 Toán tử LIKE được sử dụng trong câu lệnh mệnh đề WHERE để tìm kiếm một mẫu được chỉ định trong một cột trong SQL.
Điều này được sử dụng trong hai ký tự đại diện, nó thường được sử dụng cùng với toán tử LIKE:
  • % – Dấu phần trăm đại diện cho không, một hoặc nhiều ký tự
  • _ – Dấu gạch dưới đại diện cho một ký tự đơn
 Đầu ra trông giống như sau
like
IN
Toán tử IN được sử dụng để chỉ định nhiều giá trị trong mệnh đề WHERE.
Toán tử IN là cách viết tắt của nhiều điều kiện OR trong SQL.
Đầu ra trông giống như sau
 In
  1. SELECT * FROM EmployeeDetail
  2. SELECT GROUP BY

4. SELECT HAVING

HAVING chỉ có thể được sử dụng trong câu lệnh SELECT. HAVING thường được sử dụng với mệnh đề GROUP BY. Khi GROUP BY không được sử dụng, sẽ có một nhóm tổng hợp, đơn lẻ ngầm định.
Cú pháp:
  1. SELECT
  2.     select_list
  3. FROM
  4.     table_name
  5. GROUP BY
  6.     group_list
  7. HAVING
  8.     conditions;
Đầu ra trông giống như sau
 SelectCount

5. SELECT ORDER BY

Câu lệnh SELECT ORDER BY là tập hợp kết quả của một truy vấn theo danh sách cột đã chỉ định và, tùy ý, giới hạn các hàng được trả về trong một phạm vi đã chỉ định. Thứ tự các hàng được trả về trong tập hợp kết quả không được đảm bảo trừ khi mệnh đề ORDER BY được chỉ định.
Cú pháp :
  1. SELECT column1, column2,
  2. FROM table_name
  3. ORDER BY column1, column2 ASC|DESC;
Đầu ra trông giống như sau
Select OrderBy

6. SQL SELECT AND, OR, NOT

Câu lệnh SELECT AND:

  • Câu lệnh SELECT AND yêu cầu hai điều kiện phải đúng trong câu lệnh WHERE.
  • Câu lệnh SELECT WHERE với NOT phủ nhận điều kiện đã chỉ định
  • Câu lệnh SELECT AND: Câu lệnh WHERE với câu lệnh AND yêu cầu hai điều kiện đều đúng
Cú pháp
  1. SELECT column1, column2
  2. FROM table_name
  3. WHERE condition1 AND condition2 AND condition3;
Đầu ra trông giống như sau
SelectAnd

Câu lệnh SELECT OR 

Câu lệnh SELECT OR yêu cầu một trong hai điều kiện là đúng trong câu lệnh where trong SQL.
Cú pháp
  1. SELECT column1, column2,
  2. FROM table_name
  3. WHERE condition1 OR condition2 OR condition3;
Đầu ra trông giống như sau
SelectOr

Câu lệnh SELECT NOT 

Một câu lệnh WHERE KHÔNG phủ nhận điều kiện đã chỉ định
Toán tử NOT hiển thị một bản ghi nếu (các) điều kiện KHÔNG ĐÚNG.
Cú pháp
  1. SELECT column1, column2,
  2. FROM table_name
  3. WHERE NOT condition;
Đầu ra trông giống như sau
 SelectNot

7. SQL SELECT INSERT INTO

Câu lệnh SQL SELECT INSERT INTO Select sao chép dữ liệu từ một bảng và chèn dữ liệu vào một bảng khác.
Cú pháp
  1. INSERT INTO table2
  2. SELECT * FROM table1
  3. WHERE condition;
Đầu ra trông giống như sau
SelectIsert

8. Câu lệnh NESTED SQL SELECT

Một truy vấn con có thể được sử dụng ở bất cứ đâu mà một biểu thức được cho phép trong câu lệnh Nested SQL SELECT
Cú pháp
  1. SELECT column_name [, column_name ]
  2. FROM   table1 [, table2 ]
  3. WHERE  column_name OPERATOR
  4.    (SELECT column_name [, column_name ]
  5.    FROM table1 [, table2 ]
  6.    [WHERE])
Đầu ra trông giống như sau
 NestedSelect

9. SQL SELECT with CASE

Câu lệnh SQL SELECT với 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 (giống như câu lệnh IF-THEN-ELSE). Vì vậy, khi một điều kiện là đúng, nó sẽ ngừ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.
Nếu không có phần ELSE và không có điều kiện nào đúng, nó sẽ trả về NULL.
Cú pháp
  1. CASE
  2.      WHEN condition1 THEN result1
  3.      WHEN condition2 THEN result2
  4.      WHEN conditionN THEN resultN
  5.      ELSE result
  6.  END;
Đầu ra trông giống như sau
SelectCase

10. SQL SELECT with IF…THAN

Câu lệnh SQL SELECT với IF và THAN đ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 (giống như câu lệnh IF-THEN-ELSE). Vì vậy, khi một điều kiện là đúng, nó sẽ ngừ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.
Nếu không có phần ELSE và không có điều kiện nào đúng, nó sẽ trả về NULL.
Cú pháp
  1. IF <Condition>
  2.      {Statement | Block_of_statement}
  3. ELSE
  4.      {Statement | Block_of_statement}]

Tại sao SQL * có hại?

SQL * có hại ở các điểm sau
1. I/O không cần thiết
2. Tăng lưu lượng truy cập mạng
3. Thêm bộ nhớ ứng dụng
4. Tùy thuộc vào thứ tự cột
5. Quan điểm mong manh
6. Xung đột trong truy vấn tham gia
7. Rủi ro khi sao chép dữ liệu.

(Source: https://www.c-sharpcorner.com/)

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *