Minus Clause Pada Oracle SQL

Apa itu Minus clause?

Minus clause digunakan untuk menampilkan semua data pada SELECT statement yang pertama. BUKAN yang kedua.

Query Minus dapat digambarkan sebagai berikut:

Minus Clause Pada Oracle SQL
Add caption

Sintak Dasar

Di bawah ini adalah sintak dasar Query menggunakan Minus clause pada Oracle SQL:

SELECT column1 [, column2 ]
FROM table1 [, table2 ]
[WHERE condition]
MINUS
SELECT column1 [, column2 ]
FROM table1 [, table2 ]
[WHERE condition]

Contoh

Asumsi Anda telah membuat tabel Customer dan tabel Orders dengan data-data sebagai berikut:

Tabel Customer

SQL> SELECT * FROM customer;

CUSTOMER_ID CUSTOMER_NAME     CUSTOMER_ADDRESS
----------- ----------------- -----------------
CS001       Nursalim          Bandung
CS002       Nani Indriyani    Jakarta
CS003       Naura Krasiva     Surabaya
CS004       Ahmad Fatoni      Semarang
CS005       Sri Rahayu        Yogyakarta

Tabel Orders

SQL> SELECT * FROM orders;

ORDER_ID ORDER_DATE CUSTOMER_ID QTY   AMOUNT
-------- ---------- ----------- ----- -------
00001    01-04-2015 CS001       2     10000
00002    08-04-2015 CS001       3     7000
00003    14-04-2015 CS004       1     15000

Dengan menggunakan kedua tabel diatas, Anda dapat mencoba perintah Minus dengan menggunakan query di bawah ini:

SQL> SELECT customer.customer_id, customer.customer_name, orders.order_id, orders.order_date, orders.qty, orders.amount
  2  FROM customer
  3  LEFT JOIN orders
  4  ON customer.customer_id = orders.customer_id
  5  MINUS
  6  SELECT customer.customer_id, customer.customer_name, orders.order_id, orders.order_date, orders.qty, orders.amount
  7  FROM customer
  8  RIGHT JOIN orders
  9  ON customer.customer_id = orders.customer_id;

CUSTOMER_ID CUSTOMER_NAME       ORDER_ID ORDER_DATE QTY   AMOUNT
----------- ------------------- -------- ---------- ----- ----------
CS002       Nani Indriyani
CS003       Naura Krasiva
CS005       Sri Rahayu

Pada dasarnya query Minus diatas hanya mengambil query yang pertama yaitu:

SQL> SELECT customer.customer_id, customer.customer_name, orders.order_id, orders.order_date, orders.qty, orders.amount
  2  FROM customer
  3  LEFT JOIN orders
  4  ON customer.customer_id = orders.customer_id;

Share on Google Plus

About Unknown

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment
    Facebook Comment

0 comments:

Post a Comment