Anda di halaman 1dari 5

I.

Judul Percobaan Subquery pada Banyak Kolom

II.

Tinjauan Pustaka Sintak (cara penulisan) dari multiple column subquery : SELECT column, column, . FROM table WHERE (column, column, ) IN (SELECT column, column, . FROM table WHERE condition); jika suatu subquery menghasilkan nilai NULL maka tidak ada baris yang sesuai sehingga akan ditampilkan no rows selected. Subquery dapat digunakan dalam klausa FROM, tujuannya adalah untuk membentuk hasil tabel sementara yang berisi data yang sudah diatur sesuai keperluan. OPERATOR IN DALAM SUB QUERY Operator IN akan memeriksa apakah suatu nilai di outer query ada dalam sebuah hasil sub query. Operator IN bisa disamakan dengan operator = ANY Lawan hasil dari operasi IN adalah NOT IN. Operator NOT IN bisa disamakan dengan <> ALL Sub query boleh memiliki data lebih dari 1 baris. SELECT ProductCode,ProductName,buyPrice FROM Products ProductCode IN (SELECT ProductCode FROM Products BuyPrice>100) WHERE WHERE

PERBANDINGAN DENGAN LEBIH DARI 1 KOLOM PADA SUB QUERY Perbandingan banyak kolom dimungkinkan dengan menuliskan field-field yang akan dicocokkan dalam sebuah tanda kurung (). SELECT OfficeCode,reportsTo,EmployeeNumber,FirstName FROM Employees WHERE (OfficeCode,reportsTo) = (SELECT OfficeCode,reportsTo FROM Employees WHERE employeeNumber=1370) CORRELATED SUBQUERY Sebuah correlated subquery adalah suatu subquery yang memiliki sebuah reference ke tabel yang juga menjadi outer query. Subquery boleh ditempatkan di daftar kolom atau dalam WHERE SELECT e.EmployeeNumber,e.FirstName, (SELECT COUNT(*) FROM Employees e2 WHERE e.EmployeeNumber=e2.reportsTo) BanyakBawahan FROM Employees e 1

SELECT e.EmployeeNumber,e.FirstName FROM Employees e WHERE (SELECT COUNT(*) FROM Employees e2 WHERE e.EmployeeNumber=e2.reportsTo)>3 EXISTS DAN NOT EXISTS EXISTS digunakan untuk memeriksa apakah subquery memiliki baris atau tidak. Jika minimal ada 1 baris (walaupun hanya berisi NULL), maka akan bernilai TRUE NOT EXISTS adalah kebalikan dari EXISTS. SELECT EmployeeNumber, FirstName FROM Employees WHERE EXISTS(SELECT * FROM Employees WHERE OfficeCode=1) SELECT EmployeeNumber, FirstName FROM Employees WHERE EXISTS(SELECT * FROM Employees WHERE OfficeCode=1) Akan menampilkan semua data employee karena subquerynya bernilai TRUE. SELECT EmployeeNumber, FirstName FROM Employees WHERE NOT EXISTS(SELECT * FROM Employees WHERE OfficeCode=99) Tidak akan menampilkan semua data employee karena subquerynya bernilai FALSE. SELECT EmployeeNumber, FirstName FROM Employees WHERE EXISTS(SELECT * FROM Employees WHERE OfficeCode=99) Akan menampilkan semua data employee karena subquerynya bernilai TRUE. [NOT] EXISTS & CORRELATED SUBQUERY Biasanya penggunaan [NOT] EXISTS selalu melibatkan correlated subquery. Query diatas akan menampilkan semua pegawai yang memiliki bawahan (subquerynya menghasilkan baris) SELECT e.EmployeeNumber,e.FirstName FROM Employees e WHERE EXISTS(SELECT * FROM Employees e2 WHERE e.EmployeeNumber=e2.reportsTo) Query diatas akan menampilkan semua pegawai yang memiliki bawahan (subquerynya menghasilkan baris)

III. Daftar Pustaka [1] Badriyah, Tessy. Praktikum Database II. [2] Universitas Komputer Indonesia. Paktikum Basis Data (Database Server MySQL) IV. Hasil Percobaan 5.1. Gambar 3. Menampilkan semua data menggunakan klausa LIMIT dengan batasan 1 dan jumlah 4.

4. Menampilkan data nim dan nama menggunakan operator IN dengan nilai ARKOM A.

5. Menampilkan data nim dan nama dengan memakai operator LIKE dimana keyword basis data(BD)%A%.

6. Mengurutkan semua data dari data terkecil ke data terbesar dengan memakai ORDER BY nama.

7. Mengelompokkan semua data berdasarkan GROUP BY RPL.

8. Menampilkan data nama dengan memakai operator BETWEEN dimana nilai TPS A sampai dengan C.

5.2

Source Code 1. Membuat database Latihan dan tabel NilaiUAS.

2. Memasukkan minimal 5 buah data ke dalam tabel dengan perintah insert.

3. Menampilkan semua data menggunakan klausa LIMIT dengan Batasan 1 dan jumlah 4.

4. Menampilkan data nim dan nama menggunakan operator IN dengan nilai ARKOM A.

5. Menampilkan data nim dan nama dengan memakai operator LIKE dimana keyword basis data(BD)%A%.

6. Mengurutkan semua data dari data terkecil ke data terbesar dengan memakai ORDER BY nama.

7. Mengelompokkan semua data berdasarkan GROUP BY RPL.

8. Menampilkan data nama dengan memakai operator BETWEEN dimana nilai TPS A sampai dengan C.

Anda mungkin juga menyukai