Điều kiện IN trong SQL Server
Điều kiện IN trong SQL Server có ý nghĩa gì? Cách dùng điều kiện IN trong SQL Server như thế nào? Hãy cùng nhau tìm hiểu nhé!
Công nghệ ngày càng phát triển khiến lập trình nhanh chóng trở thành một ngành được săn đón hiện nay. Chỉ từ những dòng code khó hiểu nhưng lại có thể giúp tạo ra cả một chương trình, ứng dụng hay trang web hữu ích. Thật tuyệt vời phải không?
Lập trình thực sự không phải môn học dễ theo đuổi với nhiều người. Nó đòi hỏi tư duy logic cao độ và tâm huyết với nghề. Lĩnh vực này có rất nhiều ngôn ngữ lập trình cho bạn lựa chọn. Vì thế, trước tiên, bạn cần xem hướng phát triển của bản thân để có lựa chọn phù hợp.
Dù lựa chọn ngôn ngữ lập trình nào, bạn nhất định cũng phải biết và nắm được cách dùng SQL Server.
SQL Server do Microsoft phát triển. Nó là hệ thống quản trị cơ sở dữ liệu quan hệ rất được yêu thích. Nó có thể chạy trên môi trường database lớn tới terabyte. SQL Server bao gồm 2 phần chính: database engine và SQLOS.
Học SQL Server không khó. Nó cũng bao gồm các hàm và điều kiện. Mỗi thành phần đều có chức năng riêng. Ở bài viết này, hãy cùng nhau tìm hiểu về điều kiện In trong SQL Server nhé!
Lệnh In trong SQL Server là một lựa chọn thay thế cho nhiều điều kiện OR trong SELECT, INSERT, UPDATE hoặc DELETE. Toán tử IN cho phép nhiều giá trị được kiểm thử dựa trên biểu thức này, từ đó, giảm cách dùng nhiều điều kiện OR với từng giá trị kiểm tra.
Cú pháp điều kiện IN
biểu thức IN (giá trị 1, giá trị 2, … giá trị n);
Tên biến hoặc giá trị biến
biểu thức
Giá trị để kiểm tra
giá trị 1, giá trị 2, … giá trị n
Các giá trị để kiểm tra với biểu thức
Lưu ý
- Điều kiện IN trong SQL Server sẽ trả về các bản ghi khi biểu thức có giá trị là giá trị 1, giá trị 2, … hoặc giá trị n.
- Điều kiện IN trong SQL Server còn được gọi là toán tử IN.
Ví dụ - với giá trị chuỗi
SELECT*
FROM nhanvien
WHERE ho I
N (‘Smith’, ‘Anderson’, ‘Johnson’);
Kết quả trả về sẽ là các hàng từ bảng nhanvien nếu họ của nhân viên là Smith, Anderson hoặc Johnson. Do dùng * trong lệnh SELECT nên tất cả các trường thông tin trong bảng nhanvien sẽ nằm trong bộ kết quả.
Ví dụ trên đây cũng tương tự như lệnh SELECT dưới đây.
SELECT *
FROM nhanvien
WHERE ho = ‘Smith’
OR ho = ‘Anderson’
OR ho = ‘Joh
nson’;
Việc dùng điều kiện IN giúp lệnh trông ngắn gọn, dễ hiểu hơn.
Ví dụ - với giá trị số
SELECT *
FROM nhanvien
WHERE nha
nvien_id IN (1, 2, 3, 4, 10);
Kết quả trả về là các nhân viên có ID là 1, 2, 3, 4 hoặc 10. Lệnh trên tương đương lệnh dưới đây.
SELECT*
FROM nhanvien
WHERE nhanvien_id = 1
OR nhanvien_id = 2
OR nhanvien_id = 3
OR nhanvien_id = 4
OR nhanvien_i
d = 10;
Ví dụ - dùng toán tử NOT
SELECT *
FROM nhanvien
WHERE t
en NOT IN (‘Sarah’, ‘John’, ‘Dale’);
Ở ví dụ trên, bộ kết quả gồm các hàng từ bảng nhanvien có tên nhân viên không phải là Sarah, John hay Dale. Đôi khi tìm ra giá trị không phải giá trị bạn muốn sẽ dễ dàng hơn. Ví dụ nói trên cũng tương đương lệnh dưới đây.
SELECT *
FROM nhanvien
WHERE ten <> ‘Sarah’
AND ten <> ‘John’
AND ten <> ‘Dale’;
Dùng toán tử in trong SQL Server với một truy vấn con (subquery)
Truy vấn sau trả về một danh sách số định danh sản phẩm ở ID cửa hàng 1 và có số lượng lớn hơn hoặc bằng 30:
SELECT
product_id
FROM
production.stocks
WHERE
store_id = 1 AND quantity >= 30;
Bạn có thể dùng truy vấn trên dưới dạng subquery như bên dưới trong truy vấn sau:
SELECT
product_name,
list_price
FROM
production.products
WHERE
product_id IN (
SELECT
product_id
FROM
production.stocks
WHERE
store_id = 1 AND quantity >= 30
)
ORDER BY
product_name;
Ở ví dụ này:
- Đầu tiên, subquery đã trả về một danh sách ID sản phẩm.
- Thứ hai, query bên ngoài truy xuất tên sản phẩm và liệt kê giá của sản phẩm sở hữu ID khớp với bất kỳ giá trị được subquery trả về.
Những điểm quan trọng cần nhớ
Toán tử IN được bao gồm trong mệnh đề WHERE của câu lệnh SELECT. Vị trí này cho phép truy vấn lọc các hàng dựa trên nhiều giá trị. Khi được sử dụng trong truy vấn SQL, toán tử IN giúp đơn giản hóa các truy vấn phức tạp và giúp chúng dễ đọc hơn.
Toán tử IN là chuẩn mực trên nhiều cơ sở dữ liệu khác nhau, bao gồm SQL Server, PostgreSQL, MySQL và Oracle. Việc viết toán tử IN bằng chữ in hoa là chuẩn mực rất quan trọng để cải thiện khả năng đọc.
Những câu hỏi thường gặp khi dùng điều kiện IN trong SQL Server
Có thể sử dụng toán tử IN để lọc các kiểu dữ liệu khác nhau không?
Toán tử IN lọc các kiểu dữ liệu SQL khác nhau, bao gồm chuỗi, số và ngày.
Có thể sử dụng toán tử IN trong chuỗi phụ không?
Bạn có thể dùng nó để lọc chuỗi phụ từ truy vấn chính.
Bài trước: Mệnh đề DISTINCT trong SQL Server
Bài tiếp: Điều kiện IS NULL trong SQL Server
Bạn nên đọc
Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:


Cũ vẫn chất
-
Lệnh ALTER TABLE trong SQL Server
Hôm qua -
Các cách căn giữa ô trong bảng trên Word
Hôm qua 1 -
Bao nhiêu người có thể sử dụng cùng lúc một tài khoản Netflix?
Hôm qua -
6 phần mềm chỉnh sửa ảnh miễn phí tốt nhất trên máy tính
Hôm qua 3 -
Cách kiểm tra phiên bản Excel đang sử dụng
Hôm qua -
Khắc phục sự cố không thể chạy được file .exe
Hôm qua 4 -
Tổng hợp bài tập JavaScript có code mẫu
Hôm qua 1 -
Cách tải và cập nhật driver Bluetooth cho Windows 10
Hôm qua -
Cách khóa trang cá nhân Facebook không cho người lạ xem
Hôm qua 2 -
8 bước khắc phục sự cố mất âm thanh trong Windows
Hôm qua 2