Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SQL minus operation using join

Tags:

sql

sql-server

I am trying to construct a SQL query. I have two tables tblA(data INT) and tblB(data INT) where tblA contains rows 1,2,3,4 and tblB contains 3,4,5,6. What I want to achieve is I want take a join of tblA and tblB and in output I want contents of tblA which are not in tblB.

i.e. minus operation.

How can I achieve this using join in SQL Server 2012

like image 263
MaxRecursion Avatar asked Oct 25 '25 23:10

MaxRecursion


2 Answers

Okay, use EXCEPT.

SELECT data 
FROM   tblA

EXCEPT 

SELECT data 
FROM   tblB 

Using your teminology, UNION is add, EXCEPT is minus.

like image 156
Jodrell Avatar answered Oct 28 '25 13:10

Jodrell


You do not need join. I think you're searching for this:

select data from tblA
where data not in (select data from tblB)

You can also use EXCEPT

select data from tblA
EXCEPT
select data from tblB
like image 40
Thanos Darkadakis Avatar answered Oct 28 '25 11:10

Thanos Darkadakis