QUERY BERSARANG
Pada tutorial kali ini kita akan mempelajari Query Besarang,Query Bersarang adalah sebuah query yang didalamnya (biasanya disebut Subquery) ditempatkan query yang lain. Menurut Conolly dan Begg (2015), Subquery dapat dibedakan menjadi beberapa tipe, antara lain sebagai berikut :
- Subquery Skalar, Tipe ini berguna menghasilkan nilai tepat satu kolom dan satu baris.
- Subquery Baris, Tipe ini berfungsi untuk menghasilkan banyak kolom dan satu baris.
- Subquery Tabel, Tipe ini berfungsi untuk menghasilkan satu kolom atau lebih dan terdiri dari banyak baris.
Pertama tama ikuti Query yang ada dibawah ini
Data Transaksi:
SELECT OrderID, CustID, OrderDate, RequiredDate, ShippedDate FROM Orders WHERE EmpID =(SELECT EmpID FROM Employees WHERE FirstName = 'Margaret');
Perhatikan pada syntax tersebut, subquery digunakan untuk menampilkan EmpID dari table Employees untuk pegawai dengan FirstName = ‘Margaret’.
Menggunakan Subquery Skalar dan Fungsi Agregasi
Fungsi-fungsi ini berguna untuk menampilakan data-data penting dari basis data.
Fungsi-fungsi ini berguna untuk menampilakan data-data penting dari basis data.
Subquery Skalar fungsi Agregasi:
SELECT * FROM Employees WHERE Salary > (SELECT AVG(SALARY) FROM Employees);
Maka hasilnya adalah menampilkan semua data yang ada di tabel employees dengan berdasarkan nilai Salary lebih besar dari nilai rata-rata dari Salary.
Subquery Skalar fungsi Agregasi:
SELECT * FROM employees WHERE salary > (SELECT AVG(Salary) FROM employees) ORDER BY Salary;
Menggunakan Subquery tabel dengan Statement IN Statement IN digunakan untuk menentukan kriteria yang terdiri atas banyak nilai.
Subquery data pegawai yang sudah melakukan transaksi penjualan.:
SELECT * FROM Employees WHERE EmpID IN(SELECT EmpID FROM Orders);
Menggunakan Subquery Tabel dengan Statement ANY/SOME Statement ANY/SOME memungkinkan perbandingan yang dilakukan dapat menggunakan banyak nilai kriteria.
Subquery table dan statement ANY/SOME:
SELECT * FROM Employees WHERE Salary > SOME (SELECT Salary FROM Employees WHERE Title = 'Sales Rep');
Menggunakan Subquery Tabel dengan Statement ALL Statement ALL digunakan dalam sebuah pengujian yang akan bernilai TRUE jika pengujian bernilai TRUE untuk semua nilai kriteria yang diberikan.
Data Pegawai:
SELECT * FROM Employees WHERE Salary > ALL (SELECT Salary FROM Employees WHERE Title = 'Sales Rep');
Data Pegawai:
SELECT * FROM Employees WHERE Salary > ALL (SELECT Salary FROM Employees WHERE Title = 'Technique Leader') Order By Salary;
Data Pegawai yang telah melakukan transaksi penjualan lebih besar atau sama dengan 2:
SELECT * FROM Employees WHERE EmpID IN (SELECT EmpID FROM Orders GROUP BY EmpID HAVING Count(*) >=2);
Komentar
Posting Komentar