Apa itu Minus clause?
Minus clause dipakai untuk menampilkan semua data pada SELECT statement yang pertama. BUKAN yang kedua.Query Minus sanggup digambarkan sebagai berikut:
Add caption |
Sintak Dasar
Di bawah ini yaitu sintak dasar Query memakai 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 menciptakan 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 memakai kedua tabel diatas, Anda sanggup mencoba perintah Minus dengan memakai 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;