Thứ Hai, 24 tháng 7, 2023

Tìm hiểu IN và NOT IN trong Oracle

Trong bài này chúng ta sẽ tìm hiểu một lệnh dùng để kiểm tra điều kiện đó là WHERE IN, lệnh này dùng để kiểm tra một giá trị có nằm trong một danh sách hay không.

Lệnh IN có hai cách dùng, thứ nhất là IN và thứ hai là NOT IN, với IN thì kiểm tra giá trị có xuất hiện trong danh sách hay không và NOT IN thì kiểm tra không xuất hiện trong danh sách.

Mục lục

  • 1. Lệnh WHERE IN trong Oracle
  • 2. Lệnh WHERE NOT IN trong Oracle
  • 3. Sử dụng OR và AND thay thế IN và NOT IN
  • 4. Lời kết

1. Lệnh WHERE IN trong Oracle

IN dịch tiếng Việt có nghĩa là bên trong, như vậy nó sẽ kiểm tra một giá trị có nằm bên trong một tập hợp các giá trị hay không, nếu đúng thì trả về TRUE, ngược lại trả về FALSE.

Cú pháp
1
2
3
SELECT column_name1
FROM table_name
WHERE column_name2 IN (value1, value2, value3, ...)

Trong đó:

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

  • table_name là bảng cần truy vấn
  • column_name1 là các columns sẽ được trả về
  • column_name2 là column cần so sánh với tập hợp các giá trị (value1, value2, value3, ...)

Ví dụ: Chọn tất cả khách hàng đang sống tại ĐăkLăk, ĐăkNông, Gia Lai

1
2
3
SELECT *
FROM customers
WHERE province IN ("ÐakLak", "ÐakNông", "Gia La"i)

2. Lệnh WHERE NOT IN trong Oracle

WHERE NOT IN thì ngược lại với WHERE IN, có nghĩa là nó sẽ kiểm tra một giá trị có phải không tồn tại bên trong một tập hợp gái trị hay không, nếu đúng thì trả về TRUE, ngược lại trả về FALSE.

Cú pháp
1
2
3
SELECT column_name1
FROM table_name
WHERE column_name2 NOT IN (value1, value2, value3, ...)

Giải thích các tham số thì giống như trên.

Ví dụ: Chọn tất cả các khách hàng với điều kiện là không được sống tại ĐăkLăk, ĐăkNông, Gia Lai.

1
2
3
SELECT *
FROM customers
WHERE province NOT IN ("ÐakLak", "ÐakNông", "Gia Lai")

Lưu ý: Tập hợp giá trị trong IN có thể là chuỗi hoặc số. Nếu la chuỗi thì bạn phải bao quanh nó bởi cặp dấu nháy, còn là số thì không cần.

3. Sử dụng OR và AND thay thế IN và NOT IN

Dưới đây là một ví dụ sử dụng toán tử AND để thay thế IN và NOT IN. Để đơn giản thì mình sẽ sử dụng 2 ví dụ ở trên luôn nhé.

Sử dụng OR thay thế IN
1
2
3
4
5
6
7
8
SELECT *
FROM customers
WHERE
    province = "ÐakLak"
    OR
    province = "ÐakNông"
    OR
    province = "Gia Lai"

Sử dụng AND thay thế NOT IN
1
2
3
4
5
6
7
8
SELECT *
FROM customers
WHERE
    province != "ÐakLak"
    AND
    province != "ÐakNông"
    AND
    province != "Gia Lai"

4. Lời kết

Như vậy là mình đã giới thiệu xong cách sử dụng IN và NOT IN trong Oracle, đây là lệnh rất hay và được sử dụng khá thường xuyên, mặc dù có thể thay thế nó với toán tử AND. Bài này kế thúc tại đây, hẹn gặp lại các bạn bài kế tiếp.

=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master