EDUCBA

EDUCBA

MENUMENU
  • Free Tutorials
  • Free Courses
  • Certification Courses
  • 360+ Courses All in One Bundle
  • Login
Home Data Science Data Science Tutorials SQL Tutorial SQL INTERSECT
Secondary Sidebar
SQL Tutorial
  • Functions
    • SQL Date Function
    • SQL Server Functions
    • SQL String Functions
    • SQL Compare String
    • Timestamp to Date in SQL
    • SQL REGEX
    • SQL Window Functions
    • SQL Syntax
    • SQL CONCAT
    • SQL ALTER TABLE
    • SQL MOD()
    • SQL Timestamp
    • SQL Min and Max
    • SQL TO_DATE()
    • SQL DATEADD()
    • SQL DATEDIFF()
    • SQL HOUR()
    • SQLite? functions
    • ANY in SQL
    • LIKE Query in SQL
    • SQL NOT NULL
    • SQL NOT IN
    • SQL MAX()
    • SQL MIN()
    • SQL SUM()
    • SQL COUNT
    • SQL identity
    • SQL DELETE Trigger
    • SQL Declare Variable
    • SQL Text Search
    • SQL COUNT DISTINCT
    • SQL TEXT
    • SQL Limit Order By
    • BETWEEN in SQL
    • LTRIM() in SQL
    • TOP in SQL
    • SQL Select Top
    • Merge SQL
    • SQL TRUNCATE()
    • SQL UNION
    • SQL ALL
    • SQL INTERSECT
    • SQL Alias
    • SQL Server Substring
    • CUBE in SQL
    • SQL RANK()
    • SQL CTE
    • SQL LAG()
    • SQL MID
    • SQL avg()
    • SQL WEEK
    • SQL DELETE
    • SQL DATEPART()
    • SQL DECODE()
    • SQL DENSE_RANK()
    • SQL NTILE()
    • SQL NULLIF()
    • SQL Stuff
    • SQL Ceiling
    • SQL EXISTS
    • SQL LEAD()
    • SQL COALESCE
    • SQL BLOB
    • SQL ROW_NUMBER
    • SQL Server Replace
    • SQL Ranking Function
    • SQL Server Permission
  • Basic
    • What is SQL
    • Careers in SQL
    • Careers in SQL Server
    • IS SQL Microsoft?
    • SQL Management Tools
    • What is SQL Developer
    • Uses of SQL
    • How to Install SQL Server
    • What is SQL Server
    • SQL Quick References
    • SQL Like Wildcard
    • SQL Like with Multiple Values
    • SQL Examples
    • SQL Server Versions
    • SQL DROP DB
    • SQL Case Insensitive
    • SQL Expressions
    • Database in SQL
    • SQL Data Types
    • SQL Keywords
    • Composite Key in SQL
    • SQL WAITFOR
    • SQL Constraints
    • Transactions in SQL
    • First Normal Form
    • SQL Server Data Types
    • SQL Administration
    • SQL Variables
    • SQL Enum
    • SQL GROUP BY WHERE
    • SQL ROW
    • SQL EXECUTE
    • SQL EXCLUDE
    • SQL Performance Tuning
    • SQL UUID
    • Begin SQL
    • SQL Update Join
    • SQL Between Dates
    • Cheat sheet SQL
  • Operators
    • SQL Operators
    • SQL Arithmetic Operators
    • SQL Logical Operators
    • SQL String Operators
    • Ternary Operator in SQL
  • Commands
    • SQL Commands
    • sqlplus set commands
    • SQL Alter Command
    • SQL Commands Update
    • SQL DML Commands
    • SQL DDL Commands
    • FETCH in SQL
  • Clause
    • SQL Clauses
    • SQL IN Operator
    • SQL SELECT DISTINCT Multiple Columns
    • SQL Null Values
    • SQL LIKE
    • SQL LIKE Query
    • SQL LIKE Operator
    • SQL LIKE Clause
    • SQL NOT Operator
    • SQL Minus
    • SQL WHERE Clause
    • SQL with Clause
    • SQL HAVING Clause
    • SQL HAVING Clause
    • SQL GROUP BY DAY
    • ORDER BY Clause in SQL
    • SQL ORDER BY CASE
    • SQL ORDER BY DESC
    • SQL ORDER BY DATE
    • SQL ORDER BY Alphabetical
    • SQL ORDER BY Ascending
    • SQL Order by Count
    • SQL GROUP BY Month
    • SQL GROUP BY Multiple Columns
    • SQL GROUPING SETS
  • Queries
    • SQL Insert Query
    • SQL SELECT Query
    • SQL SELECT RANDOM
    • SQL Except Select
    • SQL Subquery
    • SQL SELECT DISTINCT
    • SQL WITH AS Statement
  • Keys
    • SQL Keys
    • SQL Foreign Key
    • Primary Key in SQL
    • Foreign Key in SQL
    • Unique Key in SQL
    • SQL UNIQUE Constraint
    • SQL Primary Key
    • Alternate Key in SQL
    • SQL Super Key
  • T-SQL
    • T-SQL pivot
    • T-SQL Formatter
    • T-SQL TRY CATCH
    • T-SQL CTE
    • T-SQL CASE
    • T-SQL DATEPART
    • T-SQL Date Format
    • T-SQL ROUND
    • T-SQL Loop
    • T-SQL IIF
    • T-SQL Union
    • T-SQL CREATE TABLE
    • T-SQL INSERT
    • T-SQL Stuff
    • T-SQL ISNULL
    • T-SQL ADD Column
    • T-SQL DATEDIFF
  • Joins
    • Join Query in SQL
    • Types of Joins in SQL
    • Types of Joins in SQL Server
    • SQL Inner Join
    • SQL Join Two Tables
    • SQL Delete Join
    • SQL Left Join
    • LEFT OUTER JOIN in SQL
    • SQL Right Join
    • SQL Cross Join
    • SQL Outer Join
    • SQL Full Join
    • SQL Self Join
    • Natural Join SQL
    • SQL Multiple Join
  • Advanced
    • MDF File in SQL Server
    • SQL Aliases
    • SQL Hosting
    • SQL Auto Increment
    • SQL Injection
    • SQL Wildcards
    • SQL Check
    • SQL Indexes
    • Select Distinct
    • SQL BETWEEN
    • SQLPlus spool
    • SQL Create Table
    • SQL Schema
    • Comparison Operators in SQL
    • SQL_plus
    • SQL Formatter
    • SQL LEFT INNER JOIN
    • SQL Plus Command
    • SQLPlus not found
    • SQL Injection Attack
    • Aggregate Functions in SQL
    • SQL REVOKE
    • SQL Select Distinct Count
    • IF ELSE Statement in SQL
    • SQL CASE Statement
    • SQL While Loop
    • SQL BIGINT
    • SQL Crosstab
    • SQL Wildcard Character
    • SQL INSTR()
    • SQL now
    • SQL synonyms
    • SQLite?export to csv
    • What is Procedure in SQL
    • Stored Procedure in SQL?
    • SQL Server Constraints
    • SQL DELETE ROW
    • Column in SQL
    • Table in SQL
    • SQL Virtual Table
    • SQL Merge Two Tables
    • SQL Table Partitioning
    • SQL Temporary Table
    • SQL Clone Table
    • SQL Rename Table
    • SQL LOCK TABLE
    • SQL Clear Table
    • SQL DESCRIBE TABLE
    • SQL Mapping
    • Cursors in SQL
    • AND in SQL
    • Wildcard in SQL
    • SQL FETCH NEXT
    • SQL Views
    • SQL Delete View
    • Triggers in SQL
    • SQL UPDATE Trigger
    • SQL AFTER UPDATE Trigger
    • SQL Update Statement
    • SQL DROP TRIGGER
    • SQL DROP Table
    • Types of SQL Views
    • SQL Port
    • SQL Clustered Index
    • SQL COMMIT
    • Distinct Keyword in SQL
    • PARTITION BY in SQL
    • SQL Set Operators
    • SQL UNION ALL
    • Metadata in SQL
    • SQL Bulk Insert
    • Array in SQL
    • SQL REGEXP
    • JSON in SQL
    • SQL For loop
    • EXPLAIN in SQL
    • ROLLUP in SQL
    • Escape Character SQL
    • SQL Cluster
    • SQL Backup
    • SQL Pattern Matching
    • SQL Users
    • ISNULL SQL Server
    • SQL pivot
    • SQL Import CSV
    • SQL if then else
    • SQL ignore-case
    • SQL Matches
    • SQL Search String
    • SQL Column Alias
    • SQL extensions
    • SQL Substring Function
    • Charindex SQL
  • SqlAlchemy
    • What is SQLAlchemy
    • SqlAlchemy ORM
    • SQLAlchemy count
    • SQLAlchemy update object
    • SQLAlchemy pip
    • SQLAlchemy Connection
    • SQLAlchemy Transaction
    • SQLAlchemy Metadata
    • SQLAlchemy Raw SQL
    • SQLAlchemy Filter in List
    • SQLAlchemy Alias
    • SQLAlchemy unique
    • SQLAlchemy JSONB
    • SQLAlchemy Async
    • SQLAlchemy Types
    • SQLAlchemy Many to Many
    • SQLAlchemy Example
    • SQLAlchemy Model
    • SQLAlchemy Data Types
    • SQLAlchemy Filter
    • SQLAlchemy SQLite
    • SQLAlchemy DateTime
    • SQLAlchemy create_engine
    • SQLAlchemy Delete
    • SQLAlchemy Migrations
  • NoSQL
    • NoSQL Databases List
    • NoSQL Data Modeling
    • Types of NoSQL Databases
    • NoSQL Injection
    • NoSQL vs SQL Databases
    • NoSQL Use Cases
    • NoSQL Key Value
  • Interview Questions
    • SQL Interview Questions
    • Advance SQL Interview Questions
    • SQL Joins Interview Questions
    • SQL Server Interview Questions
    • SQL Current Month

SQL INTERSECT

By Payal UdhaniPayal Udhani

SQL INTERSECT

Introduction to SQL INTERSECT

INTERSECT operator in SQL is used to obtaining only the resultset that is common and that is also retrieved from all the queries. There are some operators in SQL that help us to combine the resultsets of the two or more queries to obtain the desired resultset from the resultsets of two or more queries. These are UNION, INTERSECT, and EXCEPT operators. Each one of them behaves differently and can be used according to our purpose and necessity. Note that MySQL does not supports intersect but SQL does.

Syntax of SQL INTERSECT

Given below is the syntax :

Start Your Free Data Science Course

Hadoop, Data Science, Statistics & others

SELECT colOrExpr1, colOrExpr2, ... colOrExpr_n
FROM name_of_table1
[WHERE conditionsOrRestrictions]
INTERSECT
SELECT colOrExpr1, colOrExpr2, ... colOrExpr_n
FROM name_of_table2
[WHERE conditionsOrRestrictions];
  • colOrExpr: These are the names of the columns or any other expressions retrieved from the values of columns of the table. Note that the number of columns or expressions retrieved from each of the select queries should be the same and also the order in which they are being retrieved needs to be the same. The data type of the columns retrieved from each of the tables should be similar and compatible.
  • name_of_table1 and name_of_table2: This is the name of the table from which you want to retrieve the resultset containing values of columns and expressions. There can be one or more select statements while using the INTERSECT operator.
  • conditionsOrRestrictions: These are the conditions that we wish to apply on the column values of the table to filter out the resultset and apply only the desired result from the tables.

Result of INTERSECT Operator

  • When two query result sets are intersected then the final resultset consists of the common and unique records that are retrieved from the resultsets of both the queries.
  • To know using the Venn diagram, consider there is certain resultset retrieved from query 1 say T1 and other resultset retrieved from query 2 is T2.
  • The contents of the resultset are shown in the below Venn diagram. When both the queries are intersected then only the common data present in both T1 and T2 results are obtained in data T1 INTERSECT T2.
  • As B and C are common in both T1 and T2 both records are fetched in the intersected result.
  • As A is not present in T2 and D is not present in T1, both A and D are skipped in the resultset of T1 INTERSECT T2.

SQL INTERSECT 1

Necessities for Using the INTERSECT Operator

There are certain things that you need to make sure before using the INTERSECT operator that are listed below:

  • Both select statements should contain the same number of columns or expressions. Also, the order in which they are mentioned should be the same.
  • The data type of the columns or values of expressions of the corresponding columns of both the tables should be similar and compatible with each other.

Example of SQL INTERSECT

Given below is the example mentioned :

Let us consider one example, suppose there are two tables named hospitals and patients that have the following structures as mentioned in the create table queries:

Hospital Table:

Code:

CREATE TABLE hospitals (
hospital_id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255),
city VARCHAR(100),
capacity INTEGER
);

Output:

Hospital Table

Patient Table:

Code:

CREATE TABLE patients (
patient_id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255),
city VARCHAR(100),
hospital_id INTEGER
);

Output:

Patient Table

Let us insert some of the records in both the tables using the following queries:

Code:

INSERT INTO
hospitals(name,city,capacity)
VALUES
('Civil','Satara',136),
('Nirmal','Pune',600),
('Life Saving','Mumbai',800),
('Wellness','Nagpur',400);

Output:

Let us insert some of the records in both the tables

Let us select the inserted records of hospitals table:

Code:

SELECT * FROM hospitals ;

Output:

SQL INTERSECT 5

Let us insert some records in patients table:

Code:

INSERT INTO
patients(name,city,hospital_id)
VALUES
('Ankit','Satara',1),
('Nanasaheb','Pune',2),
('Joe','Mumbai',3),
('Cyan','Nagpur',4),
('Ketki','Mumbai',2),
('Akash','Mumbai',3),
('Priyank','Nagpur',4),
('Dadabhau','Pune',2),
('Senorita','Mumbai',3),
('Seri','Satara',4),
('Lional','Pune',2),
('Kinari','Mumbai',3),
('Kailash','Nagpur',4),
('Merry','Pune',2),
('Laila','Mumbai',3),
('Arjun','Satara',4),
('Kabir','Mumbai',3),
('Imran','Nagpur',4),
('Vani','Mumbai',3),
('Vansh','Nagpur',4);

Output:

SQL INTERSECT 6

Let us retrieve all the records from patients table:

Code:

select * from patients;

Output:

SQL INTERSECT 7

Let us intersect the resultsets from the queries involving patients and hospitals:

Code:

SELECT  a.city FROM patients a
INTERSECT
SELECT  b.city FROM hospitals b;

Output:

SQL INTERSECT 8

It gives error in MySQL because MySQL does not supports intersect. Let us try it on the SQL lite database. Here, we will use an online SQL editor. You can install it and check running all these commands over thereby creating and inserting the table and records in SQL lite.

Here is the output that we get on running our main.sql.

Output:

output that we get on running

We can see that we only get the cities for which there is an entry in the hospitals’ table as well as the patients’ table.

Let us insert some extra cities in the hospital table by keeping the patients’ table records the same and observe the result.

We have added 2 records:

(‘We Will live’,’Nashik’,500),

(‘Healthcare’,’Ahmedabad’,700)

In the hospital table in my SQLite script. The output of intersection still seems to be same because there is no entry in patients table with the city as Ahmedabad or Nashik:

Output:

SQL INTERSECT 10

Now, let us add a patient with Nashik city and observe the output.

We have added the following record in the patients table in my main.sql file.

(‘ravi’,’Nashik’,5)

Let us now execute and observe the results of the intersect operation:

Output:

SQL INTERSECT 10

We can see that Nashik city is also added in output because it had an entry in both tables patients as well as hospitals while Ahmedabad city has entry only in hospitals table.

Conclusion

We can make the use of the INTERSECT operator to fetch all the unique records that are common in two or more queries in the SQL language. MySQL does not support the intersect operator. We should be careful while using it as using the INTERSECT operator requires that both queries should retrieve the same columns or expressions and of the compatible datatypes that are similar.

Recommended Articles

We hope that this EDUCBA information on “SQL INTERSECT” was beneficial to you. You can view EDUCBA’s recommended articles for more information.

  1. SQL Window Functions
  2. SQL SELECT DISTINCT
  3. SQL DATEPART()
  4. SQL Users
Popular Course in this category
JDBC Training (6 Courses, 7+ Projects)
  6 Online Courses |  7 Hands-on Projects |  37+ Hours |  Verifiable Certificate of Completion
4.5
Price

View Course

Related Courses

PHP Training (5 Courses, 3 Project)4.9
Windows 10 Training (4 Courses, 4+ Projects)4.8
SQL Training Program (10 Courses, 8+ Projects)4.7
PL SQL Training (4 Courses, 2+ Projects)4.7
Oracle Training (17 Courses, 8+ Projects)4.7
Primary Sidebar
Footer
About Us
  • Blog
  • Who is EDUCBA?
  • Sign Up
  • Live Classes
  • Corporate Training
  • Certificate from Top Institutions
  • Contact Us
  • Verifiable Certificate
  • Reviews
  • Terms and Conditions
  • Privacy Policy
  •  
Apps
  • iPhone & iPad
  • Android
Resources
  • Free Courses
  • Database Management
  • Machine Learning
  • All Tutorials
Certification Courses
  • All Courses
  • Data Science Course - All in One Bundle
  • Machine Learning Course
  • Hadoop Certification Training
  • Cloud Computing Training Course
  • R Programming Course
  • AWS Training Course
  • SAS Training Course

ISO 10004:2018 & ISO 9001:2015 Certified

© 2023 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you

Let’s Get Started

By signing up, you agree to our Terms of Use and Privacy Policy.

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA Login

Forgot Password?

By signing up, you agree to our Terms of Use and Privacy Policy.

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the cookie policy. By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to our Privacy Policy

Loading . . .
Quiz
Question:

Answer:

Quiz Result
Total QuestionsCorrect AnswersWrong AnswersPercentage

Explore 1000+ varieties of Mock tests View more