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

Konversikan SQL Query Untuk Menggunakan Set Operator

Ini bukan cara yang biasa Anda lakukan, tetapi sebagai latihan, Anda bisa mendapatkan set semua ID pelanggan, dan MINUS set semua ID dengan lebih dari dua transaksi, yang bisa Anda dapatkan tanpa melihat tabel pelanggan sedetik pun waktu:

SELECT C.ID
FROM CUSTOMER C
MINUS
SELECT P.ID
FROM PERFORMS P
INNER JOIN TRANSACTION T
ON T.CODE = P.CODE
GROUP BY P.ID
HAVING COUNT(T.CODE) > 1;

Anda tidak perlu join ke TRANSACTION, cukup hitung nilai kode di PERFORMS secara langsung:

SELECT C.ID
FROM CUSTOMER C
MINUS
SELECT P.ID
FROM PERFORMS P
GROUP BY P.ID
HAVING COUNT(P.CODE) > 1;

... tapi mungkin ada lebih banyak pertanyaan tentang apa yang Anda tunjukkan, seperti membatasi menurut jenis atau tanggal.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kueri hubungan Kunci Asing Tabel

  2. regexp_replace:masukkan spasi dalam string jika belum ada

  3. Pisahkan String menjadi baris Oracle SQL

  4. miskin Hibernate pilih kinerja dibandingkan dengan menjalankan secara langsung - bagaimana debug?

  5. Bagaimana cara mencari bidang ketika Anda mendapatkan kesalahan ORA-19011?