SQL SELECT

Perhatian, bahan ini menggunakan Oracle iSQL*Plus, untuk mendownload klik disini.

1.1 SQL SELECT

Perintah SELECT digunakan untuk menampilkan informasi dari basis data. Perintah SELECT dapat melakukan:

  • Projection dengan cara :
    • Pilih kolom dalam suatu table yang dikembalikan oleh sebuah query.
    • Pilih kolom sebanyak yang Anda butuhkan.
  • Selection dengan cara :
    • Pilih baris dalam suatu table yang dikembalikan oleh sebuah query.
    • Beberapa criteria dapat digunakan untuk membatasi baris yang ditampilkan.
  • Joining dengan cara :
    • Kumpulan data yang disimpan dalam table-tabel yang berbeda dengan membuat link diantara table.

1.2 Perintah SELECT Dasar

Syntax:

SELECT * |{[DISTINCT] column | expression [alias] …..}

FROM table;

  • Perintah atau kata kunci yang harus ada:
    • SELECT : Menspesifikasi kolom yang akan ditampilkan.
    • FROM : Mengidentifikasi table yang mengandung kolom yang terdaftar dalam SELECT.
  • Dalam syntax:
    • SELECT : merupakan daftar dari satu atau lebih kolom.
    • * : menyeleksi semua kolom.
    • DISTINCT : menghilangkan duplikasi data.
    • Column|expression : menyeleksi kolom atau ekspresi yang dimaksud.
    • Alias : memberikan heading yang berbeda kepada kolom terseleksi.
    • FROM table : menspesifikasi table yang mengandung kolom yang ingin ditampilkan.
Anda dapat menggunakan perintah SELECT untuk menampilkan kolom-kolom tertentu dari table dengan cara menspesifikasikan nama kolom, dan dipisahkan dengan tanda koma (,).

Contoh:

Menampilkan department id dan location id dari table departments

Syntax: SELECT department_id, location_id FROM departments;

1.3 Menulis Perintah-Perintah SQL

  • Perintah-Perintah SQL tidak case sensitive.
  • Perintah-Perintah SQL dapat dimasukkan ke dalam satu atau lebih baris.
  • Kata kunci tidak dapat dipisah pada baris yang berbeda atau pun disingkat.
  • Klausa biasanya ditempatkan pada baris yang berbeda untuk mempermudah pembacaan dan mempermudah pengeditan.
  • Kata kunci ditulis dalam huruf besar.
  • Nama table dan kolom ditulis dalam huruf kecil.
1.4 Operator Aritmatika

Operator
Fungsi
+
Penjumlahan
-
Pengurangan
*
Perkalian
/
Pembagian


  • Anda dapat menggunakan operator aritmatika dalam semua klausa dari suatu perintah SQL, kecuali klausa FROM.
  • Jika tipe datanya adalah DATE dan TIMESTAMP, Anda hanya dapat menggunakan operator pengurangan dan penjumlahan saja.
  • Ketentuan penghitungan:
    • Perkalian dan pembagian dilakukan terlebih dahulu.
    • Jika operator-operator aritmatika dalam satu ekspresi memiliki kedudukan yang sama, maka dihitung sesuai urutan dari kiri ke kanan.
    • Anda dapat menggunakan tanda kurung () untuk menekankan perhitungan yang ingin Anda lakukan terlebih dahulu.
1.5 Nilai Null

  • Null adalah sebuah nilai yang tidak tersedia, tidak berguna, tidak diketahui, atau tidak dapat diaplikasikan.
  • Null berbeda dengan nilai nol atau spasi kosong (nol adalah angka dan spasi kosong adalah karakter).
  • Kolom dari data apapun dapat mengandung nilai null.
  • NOT NULL dan PRIMARY KEY merupakan batasan penghindar penggunaan null dalam kolom.
  • Jika ada nilai kolom yang null dalam suatu ekspresi aritmatika, maka hasilnya juga null.
  • Jika Anda membagi suatu bilangan dengan null, maka hasilnya juga null atau tidak terdefinisikan.
1.6 Menggunakan Alias Kolom

  • Alias adalah penamaan kembali suatu juduk kolom.
  • Berguna dalam melakukan proses perhitungan.
  • Kata AS dapat menjadi kata kunci diantara nama kolom dan alias.
  • Membutuhkan tanda kutip ("……..") jika mengandung spasi atau karakter special atau jika kasusnya sensitive.
1.7 Operator Penggabungan

Contoh:

SELECT last_name||job_id AS "Employees"

FROM employees;

  • Operator pengabungan(||) berfungsi untuk menghubungkan kolom ke kolom lainnya, ekspresi aritmatika, atau nilai konstan untuk membuat suatu ekspresi karakter.
  • Ketika terjadi penggabungan, maka terbentuklah suatu kolom tunggal yang lain yang mana merupakan hasil penggabungannya.
  • Kata kunci AS dapat mempermudah pembacaan klausa SELECT
  • Jika Anda menggabungkan suatu nilai null dengan string karakter maka hasilnya adalah suatu karakter.
1.8 String-String Karakter Literal

  • Literal adalah karakter, bilangan, atau tanggal yang termasuk dalam Perintah SELECT.
  • Literal bukanlah sebuah nama kolom atau pun sebuah alias kolom.
  • Literal tecetak untuk setiap baris yang kembali.
  • String literal dari teks free format dapat dimasukkan dalam hasil query dan diperlakukan sama sebanyak kolom dalam daftar SELECT.
  • Tanggal dan literal karakter harus disertai dengan tanda kutip ('………');
1.9 Operator Tanda Kutip Alternatif

  • Operator tanda kutip alternative digunakan jika ada suatu literal yang mengandung tanda kutip tunggal.
  • Pilih pembatas yang Anda perlukan, seperti: single-byte atau multi-byte, atau bisa juga pasangan-pasangan karakter seperti: { },[ ],( ),< >.
Contoh:

SELECT department_name||
q'[, it's assigned Manager Id: ]'
|| manager_id AS "Department And Manager"
FROM departments;
1.10 Duplikasi Baris

  • Jika Anda tidak memberikan suatu indikasi untuk membatasi duplikasi baris, maka akan terjadi hasil yang berulang karena tidak ada pembatasan terhadap duplikasi baris.
  • Untuk membatasi duplikasi baris dalam hasil query, maka masukkan kata kunci DISNTICT ke dalam klasusa SELECT tepat setelah kata kunci SELECT.
Contoh

SELECT DISTINCT department_id, location_id FROM departments;
1.11 Menampilkan Struktur Tabel

Syntax: DESC [RIBE] tablename

  • Dalam syntax di atas, tablename adalah nama table yang ada yang dapat diakses oleh pengguna.
  • Gunakan perintah DESCRIBE untuk menampilkan struktur table.
  • Perintah tersebut akan menampilkan nama kolom dan tipe data, dan sekaligus juga akan menunjukkan kepada Anda apakah suatu kolom benar-benar memiliki data atau tidak (singkatnya, menunjukkan kolom NOT NULL).
Tipe DataPenjelasan
NUMBER( p,s )Nilai maksimumnya adalah p dengan nilai decimal s
VARCHAR2 ( s )Panjang variable nilai karakter dari ukuran maksimum s
DATETanggal dan waktu di antara 1, 4712 Januari SM dan 31, 9999 Desember
CHAR ( s )Panjang tetap nilai karakter dari ukuran s


Untuk latihan mengenai SELECT, Anda dapat menuju posting mengenai Latihan Basdat Select