Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Membuktikan kesetaraan kueri SQL

Yang terbaik yang dapat Anda lakukan adalah membandingkan 2 keluaran kueri berdasarkan serangkaian masukan yang diberikan untuk mencari perbedaan apa pun. Untuk mengatakan bahwa mereka akan selalu mengembalikan hasil yang sama untuk semua input sangat bergantung pada data.

Untuk Oracle, salah satu pendekatan yang lebih baik jika bukan yang terbaik (sangat efisien) ada di sini (Ctrl +B Membandingkan Isi Dua Tabel):
http://www.Oracle.com/technetwork/issue-archive/2005/05-jan/o15asktom-084959.html

Yang bermuara pada:

select c1,c2,c3, 
       count(src1) CNT1, 
       count(src2) CNT2
  from (select a.*, 
               1 src1, 
               to_number(null) src2 
          from a
        union all
        select b.*, 
               to_number(null) src1, 
               2 src2 
          from b
       )
group by c1,c2,c3
having count(src1) <> count(src2);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Semua Tampilan Performa Dinamis 11g Berguna

  2. Apa cara terbaik untuk keluar dari karakter non-format di Oracle's to_char?

  3. Blok Injeksi Oracle SQL dengan DBMS_ASSERT

  4. Kursor Untuk Loop dengan Pernyataan SQL dinamis

  5. 2 Cara Mendapatkan Jumlah Hari dalam Sebulan di Oracle