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

Operator Oracle MINUS Dijelaskan

Di Oracle Database, MINUS operator digunakan untuk mengembalikan hanya baris unik yang dikembalikan oleh kueri pertama tetapi tidak untuk yang kedua.

Contoh

Misalkan kita memiliki tabel berikut:

SELECT * FROM Teachers;
SELECT * FROM Students;

Hasil:

TEACHERID NAMA GURU
1 Warren
2 Ben
3 Cathy
4 Cathy
5 Tagihan
6 Tagihan
STUDENTID NAMA MAHASISWA
1 Faye
2 Jet
3 Lonjakan
4 Ein
5 Warren
6 Tagihan

Kita bisa menggunakan MINUS operator untuk mengembalikan guru yang bukan juga siswa:

SELECT TeacherName FROM Teachers
MINUS
SELECT StudentName FROM Students;

Hasil:

NAMA GURU
Ben
Cathy

Jadi kita hanya mendapatkan nilai yang muncul di Teachers tabel yang juga tidak muncul di Students meja.

Kita bisa mendapatkan hasil yang berbeda, tergantung tabel mana yang di kiri dan mana yang di kanan. Berikut adalah contoh yang menempatkan Students tabel di sebelah kiri dan Teachers di sebelah kanan:

SELECT StudentName FROM Students
MINUS
SELECT TeacherName FROM Teachers;

Hasil:

NAMA MAHASISWA
Ein
Faye
Jet
Spike

Kali ini kami mendapatkan siswa yang bukan juga guru.

MINUS operator mengembalikan baris yang berbeda saja. Jadi dalam contoh kita, hanya satu baris yang dikembalikan untuk Cathy , meskipun ada dua guru dengan nama itu.

Alternatif

Anda bisa mendapatkan hasil yang sama tanpa menggunakan MINUS operator. Misalnya, kita dapat menulis ulang contoh pertama kita menjadi ini:

SELECT 
    DISTINCT TeacherName
FROM Teachers t
WHERE NOT EXISTS (SELECT StudentName FROM Students s
WHERE t.TeacherName = s.StudentName);

Hasil:

NAMA GURU
Ben
Cathy

MINUS Setara di RDBMS Lain

MINUS Oracle operator mirip dengan EXCEPT operator yang banyak digunakan RDBMS lainnya. MariaDB memiliki EXCEPT operator, tetapi juga telah memperkenalkan MINUS operator sebagai sinonim yang dapat digunakan saat dalam mode Oracle.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. String hingga saat ini di Oracle dengan milidetik

  2. Audit di Oracle

  3. Alat yang Tepat Membuat Tuning Bekerja Cepat

  4. Apa perbedaan utama antara Varchar2 dan char

  5. Apakah Oracle SYS_GUID() UUID RFC 4122 sesuai?