GETTING STARTED
DATA DEFINITION
DATA QUERIES
CONDITION & OPERATORS
EXPLORED
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Mệnh đề Where trong SQL Server

Trong bài này chúng ta sẽ học lệnh Where trong SQL Server, đây là lệnh dùng để thêm điều kiện lọc dữ liệu, thường được dùng kết hợp trong lệnh Select và Update.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Ở bài trước bạn đã được học lệnh Select, và mình cũng có nói qua về cách thiết lập điều kiện Where. Để giúp bạn hiểu rõ hơn thì bài này mình sẽ nói một cách chi tiết và cụ thể nhất.

1. Giới thiệu lệnh Where trong SQL Server

Khi bạn sử dụng lệnh Select để lấy dữ liệu thì nó sẽ trả về tất cả dữ liệu hiện có trong bảng, điều này rõ ràng không tối ưu trong một số trường hợp.

Giả sử bạn muốn khen thưởng nhân viên A, và bạn dùng lệnh select để tìm, nhưng với hàng ngàn kết quả trả về thì với mắt thường không thể kiểm soát được

Bài viết này được đăng tại [free tuts .net]

Giải pháp là ta sử dụng lệnh Where để bổ sung điều kiện lọc cho lệnh select.

Cú pháp của nó như sau:

SELECT
    select_list
FROM
    table_name
WHERE
    search_condition;

Phía sau mệnh đề where là những toán tử logic trả về TRUE hoặc FALSE như:

  • a = b (toán tử bằng)
  • a <> b (toán tử khác)
  • a in b (toán tử in)
  • Và nhiều toán tử khác nữa, mình sẽ nói đến ở một bài khác.

2. Ví dụ thực hành Where trong SQL Server

Chúng ta hãy làm một vài ví dụ thực tế nhé, điều này sẽ giúp bạn dễ hiểu bài hơn.

Giả sử mình có một bảng Products có cấu trúc như sau:

products png

Bây giờ hãy làm một vài bài tập liên quan đến table này.

Tìm kiếm một điều kiện

Đề bài: Tìm kiếm tất cả sản phẩm thuộc chuyên mục có category_id = 1.

SELECT
    product_id,
    product_name,
    category_id,
    model_year,
    list_price
FROM
    production.products
WHERE
    category_id = 1
ORDER BY
    list_price DESC;

Kết quả:

SQL Server WHERE simple equality test png

Đây là trường hợp so sánh với toán tử bằng (=) khá đơn giản. Lệnh Where sẽ lọc và chọn tất cả những sản phẩm nào có category_id = 1, những sản phẩm không hợp lệ sẽ bị loại bỏ khỏi kết quả trả về.

Tìm kiếm vơi hai điều kiện

Đề bài: Tìm tất cả sản phẩm thuộc chuyên mục có category_id = 1 và năm sản xuất là 2018.

Như vậy chúng ta có hai điều kiện lọc, vì vậy ta sử dụng toán tử AND để nối giữa hai điều kiện.

SELECT
    product_id,
    product_name,
    category_id,
    model_year,
    list_price
FROM
    production.products
WHERE
    category_id = 1 AND model_year = 2018
ORDER BY
    list_price DESC;

Kết quả như sau:

SQL Server WHERE match two conditions png

Sử dụng toán tử so sánh lớn hơn

Đề bài: Hãy tìm sản phẩm có giá lớn hơn 300 và năm sản xuất là 2018.

Để giải bài này ta dùng toán tử so sánh lớn hơn >.

SELECT
    product_id,
    product_name,
    category_id,
    model_year,
    list_price
FROM
    production.products
WHERE
    list_price > 300 AND model_year = 2018
ORDER BY
    list_price DESC;

SQL Server WHERE comparison operators png

Sử dụng toán tử OR

Đề bài: Tìm sản phẩm có năm sản xuất là 2018 hoặc giá bán lớn hơn 3000.

Với bài này ta phải dùng toán tử OR để thiết lập điều kiện 1 trong 2.

SELECT
    product_id,
    product_name,
    category_id,
    model_year,
    list_price
FROM
    production.products
WHERE
    list_price > 3000 OR model_year = 2018
ORDER BY
    list_price DESC;

SQL Server WHERE match one of two conditions png

Điều kiện nằm trong khoảng

Đề bài: Tìm sản phẩm có giá nằm trong khoảng 1899.00 và 1999.99.

Nằm trong khoảng thì ta dùng toán tử BETWEEN.

SELECT
    product_id,
    product_name,
    category_id,
    model_year,
    list_price
FROM
    production.products
WHERE
    list_price BETWEEN 1899.00 AND 1999.99
ORDER BY
    list_price DESC;

SQL Server WHERE between operator png

Vẫn còn nhiều toán tử thường sử dụng trong WHERE nữa như: IS NULL, IS NOT NULL, ... nhưng mình sẽ dành nó để viết ở một bài khác.

Như vậy là chúng ta đã học xong cách sử dụng mệnh đề WHERE trong SQL Server. Phần này mình nghĩ không quá khó, chủ yếu là bạn hiểu cách dùng các toán tử.

Cùng chuyên mục:

Hàm CHAR trong SQL Server

Hàm CHAR trong SQL Server

Cách sử dụng hàm CHAR trong SQL Server

Hàm CHARINDEX trong SQL Server

Hàm CHARINDEX trong SQL Server

Cách sử dụng hàm CHARINDEX trong SQL Server

Hàm CONCAT trong SQL Server

Hàm CONCAT trong SQL Server

Cách sử dụng hàm CONCAT trong SQL Server

Hàm + trong SQL Server

Hàm + trong SQL Server

Cách sử dụng hàm + trong SQL Server

Hàm DATALENGTH trong SQL Server

Hàm DATALENGTH trong SQL Server

Cách sử dụng hàm DATALENGTH trong SQL Server

Hàm LEFT trong SQL Server

Hàm LEFT trong SQL Server

Cách sử dụng hàm LEFT trong SQL Server

Hàm LEN trong SQL Server

Hàm LEN trong SQL Server

Cách sử dụng hàm LEN trong SQL Server

Hàm LOWER trong SQL Server

Hàm LOWER trong SQL Server

Cách sử dụng hàm LOWER trong SQL Server

Hàm LTRIM trong SQL Server

Hàm LTRIM trong SQL Server

Cách sử dụng hàm LTRIM trong SQL Server

Hàm NCHAR trong SQL Server

Hàm NCHAR trong SQL Server

Cách sử dụng hàm NCHAR trong SQL Server

Hàm PATINDEX trong SQL Server

Hàm PATINDEX trong SQL Server

Cách sử dụng hàm PATINDEX trong SQL Server

Hàm REPLACE trong SQL Server

Hàm REPLACE trong SQL Server

Cách sử dụng hàm REPLACE trong SQL Server

Hàm RIGHT trong SQL Server

Hàm RIGHT trong SQL Server

Cách sử dụng hàm RIGHT trong SQL Server

Hàm RTRIM trong SQL Server

Hàm RTRIM trong SQL Server

Cách sử dụng hàm RTRIM trong SQL Server

Hàm SPACE trong SQL Server

Hàm SPACE trong SQL Server

Cách sử dụng hàm SPACE trong SQL Server

Hàm STR trong SQL Server

Hàm STR trong SQL Server

Cách sử dụng hàm STR trong SQL Server

Hàm UPPER trong SQL Server

Hàm UPPER trong SQL Server

Cách sử dụng hàm UPPER trong SQL Server

Hàm SUBSTRING trong SQL Server

Hàm SUBSTRING trong SQL Server

Cách sử dụng hàm SUBSTRING trong SQL Server

Hàm STUFF trong SQL Server

Hàm STUFF trong SQL Server

Cách sử dụng hàm STUFF trong SQL Server

Hàm ABS trong SQL Server

Hàm ABS trong SQL Server

Cách sử dụng hàm ABS trong SQL Server

Top