SQL Script for Comparing the Contents of Two Tables | Database Journal

SQL Script for Comparing the Contents of Two Tables

Aug 8, 2002
1 minute read



Here’s some SQL code from Eli Leiba
that will all you to compare two tables — say, table A and table B — to determine if their content is the same. Assuming that A and B have the same structure, here’s how it works:

First, from set theory, recall that:
If ((|A| = |B|) && |A U B| = |A|)) ====>>> A = B

|A| = NUMBER of rows in A

|B| = NUMBER of rows in B

Here’s the SQL code (with T-SQL syntax, but can be adapted for other DBMS’s):


declare @cnt1 int 
declare @cnt2 int 
declare @cnt3 int 
declare @res bit 

select @cnt1 = count(*) from A 
select @cnt2 = count(*) from B 
select @cnt3 = count('x') 
     from (select * from A 
     UNION 
     select * from B) as t 

if (@cnt1 = @cnt2) and (@cnt2 = @cnt3) 
 begin 
   set @res = 1 
   print 'A = B' 
 end 
 else 
  begin 
    set @res = 0 
    print 'A <> B' 
  end 
go 


»


See All Articles by Columnist
Eli Leiba

Database Journal Logo

DatabaseJournal.com publishes relevant, up-to-date and pragmatic articles on the use of database hardware and management tools and serves as a forum for professional knowledge about proprietary, open source and cloud-based databases--foundational technology for all IT systems. We publish insightful articles about new products, best practices and trends; readers help each other out on various database questions and problems. Database management systems (DBMS) and database security processes are also key areas of focus at DatabaseJournal.com.

Property of TechnologyAdvice. © 2026 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.