"This is not about miles, every mountain has its own beauty to climb"

Menampilkan Data Pada Oracle

Sql – Select atau Query adalah kata kunci untuk menampilkan data (select) dari suatu kolom dari suatu tabel, beberapa tabel, atau seluruh tabel pada database sesuai dengan kondisi yang diinginkan.
Syntax :

SELECT [DISTINCT] <nama kolom> [INTO <tabel tujuan>]

FROM <nama tabel> [WHERE <kondisi>] [ORDER BY <nama kolom pengurutan>]
Contoh : select * from mahasiswa where nama like ‘Rama’;

Digunakan untuk menampilkan seluruh data mahasiswa yang bernama Rama secara lengkap (seluruh kolom ditampilkan).

Beberapa fungsi-fungsi yang terdapat dalam oracle untuk mendukung proses membuat query sesuai yang kita inginkan antara lain :

a. DISTINCT
Digunakan apabila kita ingin menghilangkan duplikasi dari hasil query (hasil query yang sama ditampilkan sekali).
Misal, untuk menampilkan nomor-nomor anggota yang sedang meminjam atau belum mengembalikan:
SELECT NoAnggota FROM Peminjaman
Perhatikan, pada hasil query di atas terdapat NoAnggota yang ditampilkan lebih dari sekali bagi anggota yang meminjam buku lebih dari 1. Untuk meniadakan duplikasi, querynya adalah sbb:
SELECT DISTINCT NoAnggota FROM Peminjaman


b. ORDER BY
Tampilan dari SELECT dapat disusun (sort) menurut satu atau beberapa kolom dengan menggunakan statement ORDER BY. Susunan dapat diatur secara menurun (ascending) atau menaik (descending)
Contoh syntaks:
SELECT CustomerID, CompanyName, ContactName
FROM Customer
ORDER BY Customer ID


c. HAVING
Jika untuk filter query biasa kita menggunakan klause where, maka klausa having digunakan untuk filter fungsi-fungsi aggregate.
misal:
– untuk menampilkan jumlah buku per kode penerbit, tetapi hanya yang jumlahnya >10 saja yang ditampilkan.
SELECT idPenerbit, COUNT(*) FROM koleksi
GROUP BY idPenerbit HAVING COUNT(*)>10


d. IN/NOT IN
Ekspresi ini digunakan untuk membandingkan dengan sebuah kumpulan nilai, yang mana kumpulan nilai bisa berupa:
– nilai-nilai yang diisikan
– query tunggal (query yg hasilnya hanya terdapat sebuah kolom saja)
Nilai-nilai yang diisikan, maksudnya kita sendiri yang mengisikan nilai-nilai tersebut di dalam query kita. Misalnya:
– menampilkan koleksi yang jenisnya buku dan majalah (idTipeKoleksi=1 atau 2):
SELECT * FROM koleksi WHERE idTipeKoleksi IN (1, 2)

– menampilkan anggota yang selain mahasiswa atau dosen (idJenisAnggota selain 1 dan 3)
SELECT * FROM anggota WHERE IDJenisAnggota NOT IN (1, 3)


e. LIKE / NOT LIKE
Fungsi ini khusus untuk string. Operasi ini, hanya untuk pembandingan nilai bertipe string. Digunakan untuk mengenali string-string yang memiliki pola tertentu. Di dalam operasi ini, digunakan simbol-simbol berikut:
– simbol % artinya mewakili 0 s/d tak terhingga dari sembarang karakter.
– simbol _ artinya mewakili 1 sembarang karakter.
misal:
– menampilkan anggota yang nama depannya: “Budi”
SELECT * FROM anggota WHERE Nama LIKE “Budi%”

– menampilkan Anggota yang huruf ketiga namanya adalah “d”
SELECT * FROM anggota WHERE Nama LIKE “__d%”

– menampilkan koleksi yang judulnya terdapat kata “pemrograman”:
SELECT * FROM koleksi WHERE Judul LIKE “%pemrograman%”

f. INTERSECT
Fungsi INTERSECT membandingkan hasil dari dua query dan mencari baris yang memiliki kesamaan.
select Title
from BOOK_ORDER
INTERSECT
select Title
from BOOKSHELF;

g. EXIST
EXIST digunakan untuk pengecekan apakah suatu query memiliki hasil atau tidak. Syntaks:
SELECT columns
FROM tables
WHERE EXISTS ( subquery );


h. NOT EXIST
NOT EXIST digunakan untuk mengetahui suatu nilai dalam satu table dimana tidak memiliki kesamaan dengan table lain. Syntaks:
SELECT DISTINCT store_type FROM stores
WHERE NOT EXISTS
(SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type);

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s