Salah satu syntax yang paling penting dalam SQL adalah select. Select berfungsi untuk menampilkan data-data pada tabel-tabel yang terdapat dalam database. Di sinilah terdapat banyak perbedaan antara SQL biasa dan SQL Oracle. Oracle banyak sekali meringkas syntax-syntax menjadi lebih sederhana walaupun sebenarnya oracle juga tetap memerima SQL strandar.
Select secara sederhana dapat dituliskan sebagai berikut :
SELECT
[tb1].[nama_kolom1],
[tb2].[nama_kolom2], . . .
FROM
[nama_tabel1] [tb1],
[nama_tabel2] [tb2]
WHERE
[kondisi_join]
[operator_boolean] [kondisi_select]
ORDER BY [nama_kolom_order]
GROUP BY [nama_kolom_group];
[tb1].[nama_kolom1],
[tb2].[nama_kolom2], . . .
FROM
[nama_tabel1] [tb1],
[nama_tabel2] [tb2]
WHERE
[kondisi_join]
[operator_boolean] [kondisi_select]
ORDER BY [nama_kolom_order]
GROUP BY [nama_kolom_group];
Keterangan :
tb | : | Alias dari [nama_tabel1] |
nama_kolom | : | Nama kolom yang akan ditampilkan |
kondisi_join | : | Jika pada klausa FORM terdapat dua tabel atau lebih maka harus terdapat kondisi ini yaitu menjoinkan tabel-table pada klausa tersebut |
operator_boolean | : | Operator-operator untuk kondisi_join seperti AND dan OR |
kondisi_select | : | Kondisi tambahan untuk menyempurnakan operasi SELECT ini. Biasanya menggunakan operasi perbandingan, seperti : >, <,>=, <=, BETWEEN, <> |
nama_kolom_order | : | Hasil SELECT ingin di urutkan berdasarkan nama_kolom tersebut. |
nama_kolom_group | : | Hasil SELECT ingin dikelompokkan berdasarkan nama_kolom. Jadi semua record yang bernilai sama akan dikeluarkan hanyasatu record saja. Yang perlu diperhatikan adalah semua kolom yang di-SELECT harus di GROUP BY -kan. |
1. | Menampilkan semua siswa kelas I dengan diurutkan berdasarkan nama siswa tersebut. |
SELECT NAMA, ALAMAT FROM TEST.MURID WHERE KELAS_ID = ‘I’ /*[kondisi_select]*/ ORDER BY NAMA, NIS; /*[nama_kolom_order]*/ | |
2. | Menampilkan guru-guru yang mengajar mata pelajaran biologi. |
SELECT g.NIG, b.NAMA FROM TEST.GURU g, TEST.BELAJAR b WHERE g.NIG = b.NIG /*[kondisi_join]*/ AND b.KODE_MP = ‘DA0007′ /*[kondisi_select]*/ GROUP BY g.NIG, g.NAMA; /*[nama_kolom_group]*/ | |
3. | Select Distinct Digunakan untuk memilih data-data yang berbeda (menghilangkan duplikasi) dari sebuah table database. |
Syntax: SELECT DISTINCT column_name(s) FROM table_name Contoh: SELECT DISTINCT kota FROM bukutamu | |
4. | Where Digunakan untuk memfilter data pada perintah Select |
Syntax: SELECT column name(s) FROM table_name WHERE column_name operator value Contoh: SELECT * FROM bukutamu WHERE kota=’YOGYAKARTA’ | |
5 | Order By Digunakan untuk mengurutkan data berdasarkan kolom (field) tertentu. Secara default, urutan tersusun secara ascending (urut kecil ke besar). Anda dapat mengubahnya menjadi descending (urut besar ke kecil) dengan menambahkan perintah DESC. |
Syntax: SELECT column_name(s) FROM table_name ORDER BY column_name(s) ASC|DESC Contoh: SELECT * FROM bukutamu ORDER BY nama Contoh 2: SELECT * FROM bukutamu ORDER BY id DESC | |
6. | Like Digunakan bersama dengan perintah Where, untuk proses pencarian data dengan spesifikasi tertentu. |
Syntax: SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern Contoh 1: SELECT * FROM bukutamu WHERE nama LIKE ‘a%’ Keterangan : Contoh di atas digunakan untuk pencarian berdasarkan kolom nama yang berhuruf depan “a”. Contoh 2: SELECT * FROM bukutamu WHERE nama LIKE ‘a%’ Keterangan : Contoh di atas digunakan untuk pencarian berdasarkan kolom nama yang berhuruf belakang “a”. | |
7. | In Digunakan untuk pencarian data menggunakan lebih dari satu filter pada perintah Where. |
Syntax : SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2, . . .) Contoh: SELECT * FROM bukutamu WHERE kota IN (‘Yogyakarta’,’Jakarta’) | |
8. | Between Digunakan untuk menentukan jangkauan pencarian. |
Syntax dasar: SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2 Contoh : SELECT * FROM bukutamu WHERE id BETWEEN 5 and 15 Keterangan : Contoh di atas digunakan untuk mencari data yang memiliki nomor id antara 5 dan 15. | |
9. | Inner Join Digunakan untuk menghasilkan baris data dengan cara menggabungkan 2 buah tabel atau lebih menggunakan pasangan data yang match pada masing-masing tabel. Perintah ini sama dengan perintah join yang sering digunakan. |
Syntax : SELECT column_name(s) FROM table_name1 INNER JOIN table_name2 ON table_name1.column_name=table_name2 column-name contoh : SELECT bukutamu.nama,bukutamu.email,order.no_order FROM bukutamu INNER JOIN order ON bukutamu.id=order.id ORDER BY bukutamu.nama | |
10. | Left Join Digunakan untuk menghasilkan baris data dari tabel kiri (nama tabel pertama) yang tidak ada pasangan datanya pada tabel kanan (nama tabel kedua). |
Syntax: SELECT column_name(s) FROM table_name1 LEFT JOIN table_name2 ON table_name1.column_name=table_name2. column_name contoh : SELECT bukutamu.nama,bukutamu.email,order.no_order FROM bukutamu LEFT JOIN order ON bukutamu.id=order.id ORDER BY bukutamu.nama | |
11. | Right Join Digunakan untuk menghasilkan baris data dari tabel kanan (nama tabel kedua) yang tidak ada pasangan datanya pada tabel kiri (nama tabel pertama). |
Syntax: SELECT column_name(s) FROM table_name1 RIGHT JOIN table_name2 ON table_name1.column_name=table_name2 column_name contoh : SELECT bukutamu.nama,bukutamu.emailmorder.no_order FROM bukutamu RIGHT JOIN order ON bukutamu.id=order.i ORDER BY bukutamu.nama | |
12. | Full Join Digunakan untuk menghasilkan baris data jika ada data yang sama pada salah satu tabel. |
Syntax : SELECT column_name(s) FROM table_name1 FULL JOIN table_name2 ON table_name1.column_name=table_name2 column_name Contoh : SELECT bukutamu.nama,bukutamu.email,order.no_order FROM bukutamu FULL JOIN order ON bukutamu.id=order.id ORDER BY bukutamu.nama | |
13. | Union Digunakan untuk menggabungkan hasil dari 2 atau lebih perintah Select. |
Syntax dasar : SELECT column_name(s)FROM table_name1 UNION column_name(s) FROM table_name2 Atau SELECT column_name(s) FROM table_name1 UNION ALL SELECT column_name(s) FROM table_name2 Contoh : SELECT nama FROM mhs_kampus1 UNION SELECT nama FROM mhs_kampus2 |
Select
Reviewed by Bank Ifoel
on
November 26, 2010
Rating:

No comments: