Retrieve Data
a.
Memberikan nama lain pada kolom :
SELECT namakolomlama AS namakolombaru FROM namatabel;
Berikut ini perintah untuk memberikan nama lain pada kolom jenis
menjadi jenis_film pada tabel jenisfilm :
SELECT
JENIS AS TYPE FROM JENISFILM;
b.
Menggunakan alias untuk nama tabel :
SELECT namalias.jenis, namalias.harga FROM
namatabel namalias;
Berikut ini perintah untuk memberikan alias pada tabel jenisfilm :
SELECT
J.JENIS, J.HARGA FROM JENISFILM J;
c. Nested Queries /
Subquery (IN, NOT IN, EXISTS, NOT EXISTS)
Subquery berarti query di dalam query. Dengan menggunakan
subquery, hasil dari query akan menjadi bagian dari query di atasnya. Subquery
terletak di dalam klausa WHERE atau HAVING. Pada klausa WHERE, subquery
digunakan untuk memilih baris-baris tertentu
yang kemudian digunakan oleh query. Sedangkan pada klausa HAVING,
subquery di-gunakan untuk memilih
kelompok baris yang kemudian digunakan oleh query.
09/2010
Contoh 1 : perintah untuk menampilkan data pada tabel jenisfilm yang mana data pada
kolom jenis-nya tercantum pada tabel film menggunakan IN :
SELECT * FROM
JENISFILM WHERE JENIS IN (SELECT JENIS FROM FILM);
atau menggunakan EXISTS
SELECT * FROM JENISFILM WHERE EXISTS (SELECT * FROM FILM WHERE
HARGA > 2000);
Pada contoh di atas : SELECT JENIS FROM FILM disebut
subquery, sedangkan :
SELECT * FROM JENISFILM berkedudukan sebagai query. Perhatikan, terdapat data
jenis dan harga pada tabel jenisfilm yang tidak ditampilkan. Hal
ini disebabkan data pada
kolom jenis tidak terdapat pada kolom jenis di tabel film.
Contoh 2 : perintah untuk menampilkan data pada tabel jenisfilm
yang mana data pada
kolom jenis-nya tidak tercantum pada tabel film menggunakan NOT IN
:
SELECT * FROM JENISFILM WHERE JENIS NOT IN (SELECT JENIS FROM
FILM);
atau menggunakan NOT EXISTS
SELECT * FROM JENISFILM WHERE NOT EXISTS (SELECT * FROM FILM
WHERE HARGA > 2000);
d. Sintak ORDER BY
Klausa ORDER BY digunakan untuk mengurutkan data berdasarkan kolom
tertentu sesuai dengan tipe data yang dimiliki. Contoh : perintah untuk
mengurutkan data film berdasarkan kolom judul :
SELECT * FROM FILM
ORDER BY JUDUL;
atau tambahkan ASC untuk pengurutan secara ascending (menaik) :
SELECT * FROM FILM
ORDER BY JUDUL ASC;
atau tambahkan DESC untuk pengurutan secara descending (menurun) :
SELECT * FROM FILM
ORDER BY JUDUL DESC;
e. Sintak DISTINCT
Distinct adalah kata kunci ini untuk menghilangan duplikasi.
Sebagai contoh, buat sebuah tabel pelanggan yang berisi nama dan kota asal
dengan beberapa record isi dan beberapa kota asal yang sama. Kemudian ketikkan
perintah berikut :
SELECT DISTINCT KOTA
FROM PELANGGAN;
Dengan perintah di
atas maka nama kota yang sama hanya akan ditampilkan satu saja.
f. UNION, INTERSECT dan EXCEPT
UNION merupakan operator yang digunakan untuk menggabungkan hasil
query, dengan ketentuan jumlah, nama dan tipe kolom dari masing-masing tabel
yang akan ditampilkan
datanya harus sama. Berikut ini perintah untuk memperoleh data
pada tabel film dimana
jenisnya action dan horor :
SELECT JENIS, JUDUL FROM FILM WHERE JENIS = ‘ACTION’ UNION SELECT JENIS,
JUDUL FROM FILM WHERE JENIS = ‘HOROR’;
Perintah di atas identik dengan :
SELECT JENIS, JUDUL FROM FILM WHERE
JENIS = ‘ACTION’ OR JENIS =
‘HOROR’;
Namun tidak semua penggabungan dapat dilakukan dengan OR, yaitu
jika bekerja pada dua tabel atau lebih.
21
INTERSECT merupakan operator
yang digunakan untuk memperoleh data dari dua buah
query dimana data yang ditampilkan adalah yang memenuhi kedua
query tersebut dengan
ketentuan jumlah, nama dan tipe kolom dari masing-masing tabel
yang akan ditampilkan
datanya harus sama.
SELECT * FROM
namatabel1 INTERSECT SELECT * FROM namatabel2 ;
Pada beberapa DBMS tidak terdapat operator INTERSECT namun sebagai
gantinya dapat menggunakan operator IN/EXIST seperti contoh 1 pada bagian
Nested Queries.
EXCEPT / Set Difference
merupakan operator yang digunakan untuk memperoleh data
dari dua buah query dimana data yang ditampilkan adalah data yang
ada pada hasil query 1 dan tidak terdapat pada data dari hasil query 2 dengan
ketentuan jumlah, nama dan tipe kolom dari masing-masing tabel yang akan
ditampilkan datanya harus sama.
SELECT * FROM
namatabel1 EXCEPT SELECT * FROM namatabel2;
Pada beberapa DBMS tidak terdapat operator EXCEPT namun sebagai
gantinya dapat menggunakan operator NOT IN/NOT EXIST seperti contoh 2 pada
bagian Nested Queries.
Comments
Post a Comment