Menggunakan Subquery untuk Memecahkan Query Query

Slides:



Advertisements
Presentasi serupa
SQL – DML.
Advertisements

KUMPULAN PERINTAH SQL PENDY.
Basisdata 2 T.Informatika UTM Ganjil 2012/2013 1Fika Hastarita Rachman.
Praktikum Database Query Tingkat Lanjut Abdul Kadir.
1 Penulisan Statements SELECT SQL Dasar. 1-2 Tujuan Setelah mengikuti sesi ini, diharapkan mampu : Mendaftar kemampuan statement SELECT SQL Mengeksekusi.
SQL ADVANCEADVANCE. SQL Data Type MySQL Text Type : 9/7/2014By : Suwondo, S.Kom2.
SUB QUERY.
DML Lanjutan Pertemuan Minggu Ke-10.
PRAKTIKUM BASIS DATA (4) TEKNIK INFORMATIKA UNIVERSITAS MERCU BUANA
Strctured Query Language
Pertemuan : 8 Basis Data Terapan
Data Manipulation Language (Aggregate Function)
Pertemuan : Basisdata Terapan
Me-Retrieve Data Menggunakan Pernyataan SQL SELECT
JOINED TABLE Untuk menampilkan data dari dua atau lebih tabel, maka tabel – tabel tersebut harus dihubungkan terlebih dahulu  JOIN.
DATA AGREGAT MENGGUNAKAN GROUP FUNCTIONS
Praktikum Database Subquery Lanjutan dan View Abdul Kadir.
Fungsi JOIN.
SQL (Structured Query Language) Materi Pertemuan
P E R T E M U A N 12 SISTEM BASIS DATA.
SQL-Aggregate dengan Fungsi GROUP, HAVING dan subQuery
SQL: DML (2) Basis Data Pertemuan 07.
SQL (Structured Query Language)
JOIN Perintah Join digunakan untuk menggabungkan 2 atau lebih tabel dengan syarat tabel yang digabungkan memiliki field yang sama.
MANAJEMEN BASIS DATA Pertemuan 8 SUBQUERY.
SQL-Fungsi Baris Tunggal
PERTEMUAN 10 QUERY KOMERSIAL LANJUTAN Agus Riyanto, S.Kom.
PRAKTIKUM BASIS DATA (4) TEKNIK INFORMATIKA UNIVERSITAS MERCU BUANA
SQL (Structure Query Language)
SQL (Structure Query Language) Pertemuan 3 – RESTRICTING AND SORTING DATA sy urf gm ail. co m.
SQL (Structure Query Language)
SQL (Structure Query Language)
SQL (Structure Query Language) Pertemuan 5 – Reporting Aggregate Data Using the Group Function sy urf gm ail. co m.
SQL-Pembatas dan Pengurutan Data
SQL-Fungsi Baris Tunggal
SQL (Structure Query Language)
Structure Query Language
Menampilkan Data dari Beberapa Tabel
TABEL VIRTUAL (VIEW) SYAIFUL HUDA, S.Kom.
Query.
Operasi Relasional Basis Data
JOIN.
Pemrograman Visual Akuntansi III
SQL (Structure Query Language)
Praktikum Database Subquery Lanjutan dan View
VIEW.
Query.
JOIN.
Using Subqueries to Solve Queries
SUB QUERY LANJUTAN Oleh : SYAIFUL HUDA, S.Kom Powerpoint Templates.
SQL DML Pertemuan 6 dan 7.
EXIT KD 3.4 “ Fungsi-Fungsi Agregasi “. MATERI Disusun Oleh :
Sistem Manajemen Basis Data
Basis Data KD 3.3 (Penggabungan data)
MENGGUNAKAN SINGLE ROW FUNCTION UNTUK MENG-CUSTOMIZE OUTPUT
SQL (Structured Query Language)
SQL (2) (Structure Query Language)
BASIS DATA KD 3.6 Query Berjenjang.
Structured Query Language
Query dalam sql server Pertemuan 6.
Structured Query Language (SQL)
SQL Siti Mukaromah, S.Kom.
CURSOR.
PRAKTIKUM BASIS DATA (6) TEKNIK INFORMATIKA UNIVERSITAS MERCU BUANA
BASIS DATA LANJUT SEMESTER II
Structured Query Language (SQL)
KULIAH “PRAKTIKUM BASIS DATA“ TEKNIK INFORMATIKA UNIVERSITAS MERCU BUANA Oleh : AFIYATI S.KOM, MT.
Query Lanjut Program Studi D3 Teknik Informatika -Fakultas Ilmu Terapan.
BAHASA BASIS DATA Retreiving Data dan Manipulation Function
CURSOR.
Transcript presentasi:

Menggunakan Subquery untuk Memecahkan Query Query Syaiful Huda, S.Kom

Subquery untuk Memecahkan suatu Persoalan Mencari tahu modal_cabang lebih besar dari pada kode_cabang=CABANG-039 . Untuk memecahkan masalah ini, Anda memerlukan dua query: satu query untuk mencari berapa banyak modal CABANG-039, dan query kedua untuk mencari modal siapa yang lebih besar dari itu. Anda dapat memecahkan persoalan ini dengan menggabungkan dua query, menempatkan satu query di dalam query lain. Penggunaan suatu subquery sama dengan penggunaan dua query berturut turut dan menggunakan hasil dari query pertama sebagai nilai pencari dalam query yang kedua.

Sintak Subquery SELECT select_list FROM table WHERE expr operator (SELECT select_list FROM table); Suatu subquery adalah suatu pernyataan SELECT yang dilekatkan didalam suatu klausa pada pernyataan SELECT lain. Membangun pernyataan pernyataan yang kuat selain yang sederhana dengan menggunakan subquery subquery. Subquery subquery bisa sangat bermanfaat ketika Anda memerlukan untuk memilih baris baris dari suatu table dengan suatu kondisi yang tergantung pada data didalam tabel itu sendiri.

Subquery didalam sejumlah klausa  Klausa WHERE  Klausa HAVING  Klausa FROM Operator termasuk suatu kondisi pembanding seperti >, =, atau IN Catatan : Kondisi kondisi pembanding dibagi dalam dua kelas : singlerow operator (>,=,>=,<,<>,<=) dan multiplerow operator (IN, ANY, ALL). Subquery lebih dikenal sebagai suatu SELECT bersarang (nested), subSELECT, atau pernyataan inner SELECT. Secara umum subquery dieksekusi pertama kali, dan hasilnya digunakan untuk melengkapi kondisi query pada query utama (atau outer).

Beberapa hal dalam subquery Subquery digunakan untuk mencari nilai yang belum diketahui Hanya satu kolom yang digunakan dalam subquery yang nantinya digunakan sebagai kondisi dalam outer query. Subquery dibatasi oleh hasil yang dikembalikan, berupa skalar atau kumpulan nilai. Hasil ini nantinya yang menentukan operator pembanding apa yang akan digunakan pada outer query. Karena batasan tersebut, ada 2 macam subquery yaitu (1) single row subquery, dan (2) multiple row subquery. Semua jenis operator pembanding dapat digunakan untuk subquery. Data yang dikembalikan oleh subquery harus kompatibel dengan yang dipakai oleh outer query.

Pedoman Menggunakan Subquery Suatu subquery harus diapit tanda kurung. Tempatkan subquery disisi kanan dari kondisi pembanding agar mudah dibaca. Dua kelas dari kondisi kondisi pembanding digunakan dalam subquery subquery : singlerow operator dan multiplerow operator.

Tipe Tipe dari Subquery Singlerow subquery: Query yang mengembalikan hanya satu baris dari pernyataan inner : SELECT (SELECT terdalam). Multiplerow subquery: Query yang mengembalikan lebih dari satu baris dari pernyataan inner : SELECT.

Single Row Subqueries Suatu singlerow subquery adalah mengembalikan satu baris dari pernyataan inner SELECT. Tipe dari subquery ini menggunakan suatu singlerow operator. Pada slide diberikan suatu daftar dari operator operator singlerow.

Contoh Single Row Subqueries Tampilkan pegawai pegawai yang job IDnya sama dengan pegawai 141 : SELECT last_name, job_id FROM employees WHERE job_id = (SELECT job_id FROM employees WHERE employee_id = 141 );

Menggunakan Grup Function dalam suatu Subquery Anda bisa menampilkan data dari suatu query utama dengan menggunakan grup function didalam subquery untuk mengembalikan suatu baris tunggal. Subquery berada dalam tanda kurung dan diletakkan setelah kondisi pembanding.

Contoh Single Row Subqueries Menampilkan nama belakang pegawai, job ID, dan penghasilan seluruh pegawai yang penghasilannya sama dengan penghasilan minimum. Group function MIN mengembalikan suatu nilai tunggal (2500) untuk outer query. Sintaks : SELECT last_name, job_id, salary FROM employees WHERE salary = (SELECT MIN(salary) FROM employees);

Klausa HAVING dengan Subquery Menggunakan subquery subquery tidak hanya pada klausa WHERE tapi bisa juga pada klausa HAVING. dan hasilnya dikembalikan ke dalam klausa HAVING pada query utama.

Kesalahan pada Subquery Subquery Satu kesalahan umum pada subquery terjadi ketika lebih dari satu baris dikembalikan untuk suatu singlerow subquery. Sintaks : SELECT employee_id, last_name FROM employees WHERE salary = (SELECT MIN(salary) FROM employees GROUP BY department_id);

Keterangan Kesalahan Pada pernyataan SQL diatas, subquery berisi suatu klausa GROUP BY, yang berakibat subquery itu akan mengembalikan banyak baris, satu dari setiap kelompok yang ditemukannya. Dalam kasus ini, hasil dari subquery adalah 4400, 6000, 2500, 4200, 7000, 17000, dan 8300. Outer query mengambil hasil hasil itu dan menggunakannya pada klausa WHERE. Klausa WHERE berisi suatu operator samadengan ( = ), suatu operator pembanding singlerow yang dikira hanya satu nilai. Operator = tidak menerima lebih dari satu nilai dari subquery dan oleh karena itu menghasilkan kesalahan. Untuk memperbaiki kesalahan ini, rubah operator = menjadi IN.

Multiple Row Subqueries Subquery subquery yang mengembalikan lebih dari satu baris disebut multiplerow subqueries. Anda menggunakan suatu multiplerow operator, disamping suatu singlerow operator, pada suatu miltiplerow subquery. Multiplerow operator memperkirakan satu atau lebih nilai nilai :

Contoh Multiple Row Subqueries Cari pegawai yang mendapat penghasilan yang sama dengan penghasilan minimum untuk setiap departemen. Inner query dieksekusi pertama kali, menghasilkan suatu hasil query. Blok query utama kemudian memproses dan menggunakan nilai nilai yang dikembalikan oleh inner query untuk melengkapi kondisi pencariannya. Sintaks SELECT last_name, salary, department_id FROM employess WHERE salary IN (2500, 4200, 6000, 7000, 800, 8600, 17000);

S E L E S A I