🔗 SQL Joins & Combinations
Estimated reading: 2 minutes 38 views

⚖️ SQL INTERSECT – Return Common Rows Between SELECT Queries

🧲 Introduction – What is SQL INTERSECT?

The INTERSECT operator in SQL is used to return only the rows that appear in both result sets of two SELECT queries. It performs a set operation that retains common rows only, similar to set intersections in mathematics.

🎯 In this guide, you’ll learn:

  • Syntax and structure of INTERSECT
  • Use cases for identifying overlaps
  • Differences from UNION, EXCEPT, and JOIN

✅ 1. INTERSECT Syntax

SELECT column1, column2 FROM table1
INTERSECT
SELECT column1, column2 FROM table2;

✅ Returns only rows that exist in both SELECT queries.


🔄 2. INTERSECT Rules

  • Each query must return the same number of columns
  • Columns must be of compatible data types
  • Duplicates are automatically removed (like UNION)
  • Final result uses column names from the first query

📊 3. Example – Common Customers in Two Tables

SELECT name, email FROM website_signups
INTERSECT
SELECT name, email FROM store_buyers;

✅ Returns users who signed up and made a purchase.


🔍 4. INTERSECT vs JOIN

OperationBehavior
JOINCombines data from multiple tables
INTERSECTReturns only identical rows across queries
✅ INTERSECT is not used to combine columns—only to find matching rows.

🚫 5. INTERSECT Not Supported in MySQL

  • MySQL does not support INTERSECT directly.
  • Workaround using INNER JOIN or IN clause with DISTINCT
SELECT name, email FROM website_signups
WHERE (name, email) IN (
  SELECT name, email FROM store_buyers
);

📘 Best Practices

✅ Recommended❌ Avoid This
Use for intersection of identical rowsUsing INTERSECT on mismatched columns
Confirm column order and typeExpecting duplicates without ALL
Use JOIN if you need combined columnsComparing NULLs without handling

📌 Summary – Recap & Next Steps

INTERSECT is useful for finding overlaps between datasets without needing a JOIN. It gives you clean, deduplicated results shared between queries.

🔍 Key Takeaways:

  • INTERSECT returns only common rows from both queries
  • Output is deduplicated
  • MySQL lacks native support—use JOIN or IN as workarounds

⚙️ Real-World Relevance:
Used in lead tracking, user overlap analysis, de-duping, fraud detection, and audit logic.


❓ FAQ – SQL INTERSECT

❓ What does SQL INTERSECT do?

✅ It returns only rows that appear in both queries.

❓ Does INTERSECT remove duplicates?

✅ Yes. It behaves like UNION, retaining unique rows only.

❓ Can I use INTERSECT in MySQL?

❌ No. Use JOIN or IN (...) workaround instead.

❓ What is the difference between INTERSECT and INNER JOIN?

✅ JOIN merges columns; INTERSECT finds identical rows.


Share Now :

Leave a Reply

Your email address will not be published. Required fields are marked *

Share

⚖️ SQL INTERSECT

Or Copy Link

CONTENTS
Scroll to Top