- vừa được xem lúc

Điều kiện lọc và toán tử phổ biến trong SQL

0 0 2

Người đăng: Datapot Analytics

Theo Viblo Asia

SQL là một ngôn ngữ mạnh mẽ để truy vấn và thao tác dữ liệu trong cơ sở dữ liệu quan hệ. Một trong những tính năng quan trọng nhất của SQL là khả năng lọc dữ liệu dựa trên các tiêu chí nhất định, sử dụng nhiều toán tử và mệnh đề khác nhau. Trong bài viết này, chúng ta sẽ khám phá một số điều kiện lọc và toán tử phổ biến trong SQL cũng như cách sử dụng chúng để truy xuất dữ liệu chúng ta cần.

Mệnh đề WHERE

Cách cơ bản nhất để lọc dữ liệu trong SQL là sử dụng mệnh đề WHERE, mệnh đề này chỉ định một điều kiện phải đúng cho mỗi hàng trong tập kết quả. Ví dụ: nếu muốn tìm tất cả khách hàng sống ở Berlin, chúng ta có thể viết:

SELECT * FROM customers WHERE city = 'Berlin';

Mệnh đề WHERE có thể được sử dụng với bất kỳ câu lệnh SQL nào trả về một tập kết quả, chẳng hạn như SELECT, UPDATE, DELETE, or MERGE. Điều kiện có thể là một so sánh đơn giản, chẳng hạn như city = 'Berlin' hoặc một biểu thức phức tạp hơn liên quan đến các toán tử logic, chẳng hạn như date_of_birth > '1984-01-01' và pet ='Dog'.

Toán tử so sánh

Các toán tử so sánh trong SQL được sử dụng để so sánh hai giá trị và trả về kết quả boolean (đúng hoặc sai). Các toán tử so sánh phổ biến nhất là:

  • = (bằng)
  • != (không bằng)
  • (lớn hơn)

  • < (nhỏ hơn)
  • = (lớn hơn hoặc bằng)

  • <= (nhỏ hơn hoặc bằng)

Bạn có thể sử dụng các toán tử này với bất kỳ loại dữ liệu nào hỗ trợ sắp xếp thứ tự, chẳng hạn như số, chuỗi, ngày hoặc thời gian. Ví dụ: nếu muốn tìm tất cả khách hàng nuôi chó và sinh sau năm 1984, chúng ta có thể viết:

SELECT * FROM customers WHERE pet = 'Dog' and date_of_birth > '1984-01-01';

Toán tử logic

Các toán tử logic trong SQL được sử dụng để kết hợp hai hoặc nhiều điều kiện và trả về kết quả boolean. Các toán tử logic phổ biến nhất là:

  • AND (trả về true nếu cả hai điều kiện đều đúng)
  • OR (trả về true nếu một trong hai điều kiện đúng)
  • NOT (trả về true nếu điều kiện sai)

Những toán tử này có thể được sử dụng để tạo các điều kiện lọc phức tạp phù hợp với nhu cầu của chúng ta. Ví dụ: nếu chúng tôi muốn tìm tất cả khách hàng sống ở Berlin hoặc nuôi chó, chúng tôi có thể viết:

SELECT * FROM customers WHERE city = 'Berlin' or pet = 'Dog';

Chúng ta cũng có thể sử dụng dấu ngoặc đơn để nhóm các điều kiện và kiểm soát thứ tự đánh giá. Ví dụ: nếu muốn tìm tất cả khách hàng sống ở Berlin và nuôi một con chó hoặc một con mèo, chúng ta có thể viết:

SELECT * FROM customers WHERE city = 'Berlin' and (pet = 'Dog' or pet = 'Cat');

Toán tử đặc biệt

Bên cạnh các toán tử logic và so sánh cơ bản, SQL còn cung cấp một số toán tử đặc biệt có thể được sử dụng để lọc dữ liệu theo nhiều cách khác nhau. Một số toán tử đặc biệt phổ biến nhất là:

  • BETWEEN (trả về true nếu giá trị nằm trong phạm vi được chỉ định)
  • IN (trả về true nếu giá trị nằm trong danh sách được chỉ định)
  • LIKE (trả về true nếu giá trị khớp với mẫu đã chỉ định)
  • IS NULL (trả về true nếu giá trị null)
  • EXISTS (trả về true nếu truy vấn con trả về bất kỳ hàng nào)

Các toán tử này có thể hữu ích trong việc lọc dữ liệu dựa trên các tiêu chí khác nhau. Ví dụ: muốn tìm tất cả khách hàng sinh vào những năm 1980, chúng ta có thể viết:

SELECT * FROM customers WHERE date_of_birth BETWEEN '1980-01-01' and '1989-12-31';

Nếu chúng ta muốn tìm tất cả khách hàng có thú cưng là chó, mèo hoặc chim, chúng ta có thể viết:

SELECT * FROM customers WHERE pet IN ('Dog', 'Cat', 'Bird');

Nếu muốn tìm tất cả khách hàng có tên bắt đầu bằng A, chúng ta có thể viết:

SELECT * FROM customers WHERE name LIKE 'A%';

Nếu muốn tìm tất cả khách hàng không nuôi thú cưng, chúng ta có thể viết:

SELECT * FROM customers WHERE pet IS NULL;

Nếu chúng ta muốn tìm tất cả các khách hàng đã thực hiện ít nhất một đơn hàng, chúng ta có thể viết:

SELECT * FROM customers WHERE EXISTS (SELECT * FROM orders WHERE orders.customer_id = customers.id);

Phần kết luận

Lọc dữ liệu là một kỹ năng cần thiết để làm việc với SQL và cơ sở dữ liệu quan hệ. Bằng cách sử dụng các điều kiện lọc khác nhau và các toán tử phổ biến, chúng ta có thể truy xuất dữ liệu mình cần từ các bảng và dạng xem. Trong bài viết này, chúng ta đã đề cập đến một số toán tử cơ bản và đặc biệt trong SQL cũng như cách chúng có thể được sử dụng với mệnh đề WHERE để lọc dữ liệu. Tuy nhiên, đây không phải là danh sách đầy đủ và còn có nhiều toán tử và hàm khác có thể được sử dụng để lọc dữ liệu trong SQL.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Hướng dẫn sửa lỗi không cài được SQL Server

Hôm qua do yêu cầu môn học, mình có cài lại Microsoft SQL Server. Trước đó mình có cài rồi, nhưng rồi lâu không dùng nên gỡ ra cho nhẹ máy. Bây giờ có dịp cần nên mình mới cài lại. Chi tiết lỗi mình gặp phải.

0 0 120

- vừa được xem lúc

Cách dowload và cài đặt SQL Server

Microsoft SQL Server là gì. SQL Server được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn (Very Large Database Environment) lên đến Tera-Byte và có thể phục vụ cùng lúc cho hàng ngàn use

0 0 40

- vừa được xem lúc

Sự khác biệt giữa Stored Procedure và Function trong SQL Server

1. Giới thiệu. . Cả stored procedure và function đều là các đối tượng cơ sở dữ liệu chứa một tập các câu lệnh SQL để hoàn thành một tác vụ.

0 0 104

- vừa được xem lúc

Note for ACID properties

ACID Transactions. What is transaction. Example: Bank Transfer. .

0 0 26

- vừa được xem lúc

Thiết kế partition sai, hệ thống Core banking bị treo CPU 99% và tôi đã xử lý bằng chấm nhẹ như thế nào?

Lần đầu tiên tối ưu Core banking của tôi đó là nhiệm vụ tối ưu Cơ sở dữ liệu Core banking sử dụng phần mềm ORACLE FLEXCUBE của ngân hàng X (kỷ niệm rất đẹp nhưng mục tiêu của b

0 0 21

- vừa được xem lúc

1 triệu bản ghi VARCHAR2(400) và VARCHAR2(2) có hiệu năng khác biệt ra sao - Thay đổi thứ tự các bảng khi JOIN có ảnh hưởng hiệu năng không?

Tại bài này, tôi sẽ giúp các bạn giải quyết "một lần và mãi mãi" những hiểu lầm kinh điển sau. .

0 0 32