Thứ Hai, 24 tháng 7, 2023

Toán tử INTERSECT trong Oracle

Trong Oracle, toán tử INTERSECT có tác dụng ngược lại với toán tử UNION, nghĩa là nó dùng để gộp hai câu lệnh SELECT lại với nhau và chọn ra những record có dữ liệu trùng nhau, nghĩa là record nào ở A mà xuất hiện ở B nữa thì mới được chọn. 


Toán tử này ta gọi là toán tử hợp.

Mục lục

  • 1. Cú pháp toán tử INTERSECT trong Oracle
  • 2. Ví dụ INTERSECT đơn giản
  • 3. Ví dụ INTERSECT có WHERE
  • 4. Lời kết

1. Cú pháp toán tử INTERSECT trong Oracle

Toán tử INTERSECT sẽ đặt giữa hai câu lệnh SELECT.

1
2
3
4
5
6
7
SELECT expression1, expression2, ... expression_n 
FROM table1 
WHERE conditions 
INTERSECT 
SELECT expression1, expression2, ... expression_n 
FROM table2 
WHERE conditions;

Các tham số quá quen thuộc với bạn rồi nên mình sẽ không giải thích gì thêm.

Ví dụ
1
2
3
4
5
6
7
SELECT name
FROM students
 
INTERSECT
 
SELECT name
FROM score

2. Ví dụ INTERSECT đơn giản

Giả sử mình có bảng Suppliers và bảng Order_details như sau:

Bảng Suppliers:

Suppliers Table

Oracle Intersect 1

Suppliers Data

Oracle Intersect 2

Bảng Order_details:

Order_details Table

Oracle Intersect 3

Order_details Data

Oracle Intersect 4

Mình sẽ viết câu truy vấn như sau:

1
2
3
4
5
SELECT supplier_id 
FROM suppliers 
INTERSECT 
SELECT supplier_id 
FROM order_details;

Nhìn vào câu truy vấn ta sẽ thấy kết quả trả về sẽ gồm những record supplier_id giống nhau.

3. Ví dụ INTERSECT có WHERE

Giả sử mình có hai bảng như sau:

Bảng  Supplier:

Supplier Table

Oracle Intersect 5

Supplier Data

Oracle Intersect 6

Bảng Customer:

Oracle Intersect 7

Customer Data

Oracle Intersect 8

Mình sẽ lọc điều kiện như sau:

  • Ở bảng Supplier có firstname khác "dhirubhai"
  • Ở bảng Customer có customer_id < 5

1
2
3
4
5
6
7
SELECT supplier_id, last_name, first_name 
FROM supplier 
WHERE first_name <> 'dhirubhai' 
INTERSECT 
SELECT customer_id, last_name, first_name 
FROM customer
WHERE customer_id < 5;

Kế quả:

4. Lời kết

Như vậy là mình đã giới thiệu xong cách sử dụng toán tử INTERSECT trong Oracle, cách sử dụng khá đơn giản, bạn cứ liên tưởng tới toán tử hợp trong toán học. Bài tiếp theo chúng ta sẽ học toán tử MINUS.

=============================
* 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