EDUCBA Logo

EDUCBA

MENUMENU
  • Explore
    • EDUCBA Pro
    • PRO Bundles
    • Featured Skills
    • New & Trending
    • Fresh Entries
    • Finance
    • Data Science
    • Programming and Dev
    • Excel
    • Marketing
    • HR
    • PDP
    • VFX and Design
    • Project Management
    • Exam Prep
    • All Courses
  • Blog
  • Enterprise
  • Free Courses
  • Log in
  • Sign Up
Home Data Science Data Science Tutorials SQL Tutorial SQL Minus
 

SQL Minus

Priya Pedamkar
Article byPriya Pedamkar

Updated March 13, 2023

SQL Minus

 

 

Introduction to SQL Minus

Minus is one of the four important set operators in standard query language (SQL). Set operators are used to combine the results obtained from two or more queries into a single result. The queries which contain two or more subqueries are known as compounded queries. The MINUS set operator is used to combine all the results of two or more SELECT statements. It returns only those records that are present exclusively in the first table.

Watch our Demo Courses and Videos

Valuation, Hadoop, Excel, Mobile Apps, Web Development & many more.

Note: The MINUS operator is supported only in Oracle databases. For other databases like SQL Server, PostgreSQL, and SQLite, we can use the EXCEPT operator to perform similar operations.

Syntax

The generic syntax for working with SQL MINUS operators is as follows:

SELECT column_name
FROM table_name_1
MINUS
SELECT column_name
FROM table_name_2
MINUS
SELECT column_name
FROM table_name_3
.
.
.

Parameters

The different parameters used in the syntax are:

  • column_name: Mention the column name on which you want to perform the set operation and want in the result set
  • FROM table_name_1: Mention the first table name from which the column has to be fetched
  • FROM table_name_2: Mention the second table name from which the column has to be fetched

Of the above-mentioned parameters, all the parameters are mandatory. You may use WHERE GROUP BY and HAVING clauses based on your requirement.

SQL Minus Set Operator

Here is a list of few points which we should be kept in mind while working with SQL MINUS or EXCEPT operator:

  • The number of columns in the SELECT statement on which we have applied SQL set operators must be the same.
  • The selected columns must have the same data type.
  • The order of the columns must be in the same order as mentioned in the SELECT statement.

Going ahead we will be discussing the above mentioned SQL MINUS set operator in great detail.

In order to illustrate the same, let us first create two tables “skills” and “skills_updated”. The former contains the old skills of an employee and the later contains the updated skills of an employee along with skill id, employee id, and proficiency. Both tables have the same structure. We can use the following code snippet to create the above-mentioned tables.

Code:

create table skills(
id number not null constraint skills_id_pk primary key,
employee_id number
constraint skills_employee_id_fk
references employees on delete cascade,
skill varchar2(255),
proficiency number constraint skills_proficiency_cc
check (proficiency in (1,2,3,4,5))
);
create table skills_updated (
id number not null constraint skills_id primary key,
employee_id number
constraint skills_employee_id
references employees on delete cascade,
skill varchar2(255),
proficiency number constraint skills_proficiency
check (proficiency in (1,2,3,4,5))
);

After performing some random insert operations, the data in the “skills” table looks something like this.

SQL MINUS1

The inserted data in the “skills_updated” table looks as follows.

SQL MINUS2

Examples to Implement SQL Minus

Below are some examples to implement SQL Minus:

Example #1

Find the skills that are new and added only after skill upgradation exercise.

Code:

select skill from  skills_updated
MINUS
select skill from skills;

Output:

SQL MINUS3

Example #2

Find the skills that are not mentioned in the skill up-gradation table.

Code:

select skill from skills
MINUS
select skill from skills_updated;

Output:

SQL MINUS4

Example #3

Find the employees who have not updated their skills in the upgradation table.

Code:

select employee_id from skills
MINUS
select employee_id from skills_updated;

Output:

SQL MINUS5

Example #4

Find the employees or employee_ids in particular who were not present in the old skills table.

Code:

select employee_id from skills_updated
MINUS
select employee_id from  skills;

Output:

employee id

Example #5

Find the skills and proficiencies having proficiency scores more than 1 which are present in the old skills table.

Code:

select skill, proficiency from skills  where proficiency > 1
MINUS
select skill,proficiency from skills_updated
order by skill desc;

Output:

old skills table

Note: Not all databases support MINUS set operators. As discussed above, it is only supported in the ORACLE database server. Other SQL database management servers such as PostgreSQL, SQL Server, etc. support EXCEPT set operators. It is exactly similar to the MINUS operator.

Illustrate the use of EXCEPT Operator:

Consider two tables named “customers_jan” and “customers_dec” for demonstration purposes only. The data in them looks something like this :

customers_jan Table:

customer_id Name city
1 Rahul Vyas new Delhi
2 Sneha Srivastava new Delhi
3 kabita Pandey Kolkata
4 Akshay Gupta Bangalore
5 Abhishek sheel Bangalore
6 akansha Singh Pune
7 Poonam Mahajan surat
8 Aditya Awasthi new Delhi
9 Mohit Chauhan solan
10 Neha Singh Mumbai

customers_dec Table:

customer_id Name city
1 Akshay Gupta New Delhi
2 Heena Mumbai
3 Sneha Choudhary Jaipur
4 Abhishek sheel Bangalore
5 Tushar Dixit Jaipur
6 Mohit Chauhan solan
7 akansha Singh Chennai
8 Mohit Chaudhary Gurgaon
9 Avni Mukherjee new Delhi
10 Poonam Mahajan surat

Example #6

Find the details of customers who shopped only in December but not January.

Code:

SELECT name, city FROM customers_dec
EXCEPT
SELECT name, city FROM customers_jan;

Output:

December but not January

 Conclusion

So in this article, we have learned about SQL MINUS set operators which are very useful in checking membership of data. It returns the results which are exclusively present in the first table. It also helps in summarizing and understanding the patterns in a huge dataset.

Recommended Articles

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

  1. SQL Set Operators
  2. PostgreSQL NOW()
  3. PostgreSQL For Loop
  4. SQL IN Operator

Primary Sidebar

Footer

Follow us!
  • EDUCBA FacebookEDUCBA TwitterEDUCBA LinkedINEDUCBA Instagram
  • EDUCBA YoutubeEDUCBA CourseraEDUCBA Udemy
APPS
EDUCBA Android AppEDUCBA iOS App
Blog
  • Blog
  • Free Tutorials
  • About us
  • Contact us
  • Log in
Courses
  • Enterprise Solutions
  • Free Courses
  • Explore Programs
  • All Courses
  • All in One Bundles
  • Sign up
Email
  • [email protected]

ISO 10004:2018 & ISO 9001:2015 Certified

© 2025 - 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
Loading . . .
Quiz
Question:

Answer:

Quiz Result
Total QuestionsCorrect AnswersWrong AnswersPercentage

Explore 1000+ varieties of Mock tests View more

EDUCBA

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

Hadoop, Data Science, Statistics & others

By continuing above step, you agree to our Terms of Use and Privacy Policy.
*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?

🚀 Limited Time Offer! - 🎁 ENROLL NOW