26/08/15

Beberapa Query (Perintah) Dasar Pada Database SQL

Beberapa Query (Perintah) Dasar Pada Database SQL - Kali ini eduloka akan membahas artikel tentang beberapa query atau perintah dasar yang ada pada basis data. Adapun beberapa query yang akan dibahas adalah SELECT, WHERE, NOT AND OR, BETWEEN, IN, DISTINCT, LIKE DAN NOT LIKE, ORDER BY, COUNT, SUM, AVG, MIN, MAX, INSERT, UPDATE, DELETE, GROUP BY, HAVING, dan REGEXP. Serta perintah untuk menghitung berdasarkan kolom pada SQL.
Beberapa Query (Perintah) Dasar Pada Database_
image source: www.bornoncloud.com
Untuk pertama yang akan dibahas adalah SELECT.

1. SELECT
Perintah SELECT digunakan untuk menerima dan menampilkan data dari satu atau lebih table di dalam database. SELECT adalah perintah SQL yang paling sering digunakan. Bentuk umum dari SELECT adalah sebagai berikut:
SELECT nama_atribut
FROM nama_table;
Contoh:
SELECT *
FROM Branch;
2. WHERE
Statement where digunakan untuk menyeleksi kondisi yang dituliskan oleh pengguna.

Contoh:
Buatlah sebuah query dari soal1 diatas, yang menampilkan data dimana nama depan sama dengan John.
SELECT f_name, l_name, position, salary
FROM Staff
WHERE f_name = 'John';
Query untuk mencetak data dari table Branch dimana city sama dengan London.
SELECT *
FROM Branch
WHERE city = 'London';
3. NOT, AND, OR
Statement NOT, AND, dan OR adalah operator logika. Cara kerjanya sama dengan cara kerja operator logika dalam bahasa pemrograman.

Yang perlu diketahui adalah operasi NOT dieksekusi terlebih dahulu dibandingkan Operasi AND, dan OR.

Sedangkan operasi AND akan diekseskusi terlebih dahulu dibandingkan operasi OR.

Contoh:
Buatlah sebuah query yang menampilkan data dimana branch_no = B005 dan posisinya = Manager dari tabel Staff.
SELECT f_name, l_name, position, branch_no
FROM Staff
WHERE branch_no = 'B005' AND position = 'Manager';
4. BETWEEN
Untuk melakukan penyeleksian berdasarkan range.

Contoh:
Buat sebuah query dari table staff yang menampilkan gaji diantara 20000 dan 30000.
SELECT staff_no, f_name, l_name, position, salary
FROM staff
WHERE salary BETWEEN 20000 AND 30000;
5. IN
Daftar seluruh manager dan supervisor
SELECT staff_no, f_name, l_name, position
FROM Staff
WHERE position IN('Manager','Supervisor');
6. DISTINCT
Penggunaan DISTINCT untuk menggabungkan data yang sama. Jika terdapat query seperti berikut:

Daftar dari seluruh nomor property yang telah dilihat.

Sintaksnya sebagai berikut:
SELECT property_no
FROM viewing_1;
maka akan menghasilkan query sebagai berikut:

PROPERTY_NO
PA14
PG4
PA14
PG36

Dengan menggunakan DISTINCT maka akan menggabungkan data yang ganda menjadi satu. Sintaks SQL-nya sebagai berikut:
SELECT DISTINCT property_no
FROM viewing_1;
Maka akan menghasilkan query sebagai berikut:

PROPERTY_NO
PA14
PG36

7. LIKE, NOT LIKE
Mencari kata yang menyerupai kondisi yang ditampilkan di LIKE.

Contoh:
Buatlah sebuah query yang menampilkan data dari staff di mana nama depan dari staff diawali dengan huruf J.
SELECT staff_no, f_name, l_name, position
FROM staff
WHERE f_name LIKE 'J%';
Catatan:
Penggunaan % dan _.

  • % → merepresentasikan sesusunan karakter.
  • _ → merepresentasikan satu karakter


Contoh :
LIKE 'J%' → Bisa Joko, Johan, Joe, dll.
LIKE 'J _ _ _' → hanya bisa diisi oleh 3 karakter lagi setelah J. Seperti Joni, Jono, Jini, dll.

8. ORDER BY
Digunakan untuk mengurutkan data. Default dari ORDER BY adalah mengurutkan secara ascending.

Contoh:
Query yang menampilkan data dari staff berdasarkan besarnya gaji dari kecil ke besar.
SELECT staff_no, f_name, l_name, salary
FROM staff
ORDER BY salary;
Jika ingin mengurutkan secara descending, tinggal menambahkan keyword 'DESC' pada akhir atribut yang akan diurutkan. Contoh
SELECT staff_no, f_name, l_name, salary
FROM staff
ORDER BY salary DESC;

9. COUNT, SUM, AVG, MIN, MAX

  1. COUNT → menghitung banyaknya data dalam satu kolom. Dapat digunakan di numerik dan non-numerik.
  2. SUM → menghitung jumlah. Hanya dapat digunakan di numerik saja.
  3. AVG → menghitung rata-rata. Hanya dapat digunakan di numerik saja.
  4. MIN → menghitung nilai terendah. Dapat digunakan di numerik dan non-numerik.
  5. MAX → menghitung nilai tertinggi. Dapat digunakan di numerik dan non-numerik.

Contoh:
Menghitung jumlah staff yang ada.
SELECT COUNT (staff_no) AS banyak_staff
FROM staff;
Mencari gaji minimum, maximum, rata-rata dan jumlahnya.
SELECT MIN(salary) AS my_min, MAX(salary) AS my_max, AVG(salary) AS my_avg, SUM(salary) AS my_sum
FROM staff;

10. GROUP BY
Group by dapat digunakan untuk menggabungkan beberapa data yang diambil dari statement SELECT, dan menghasilkan satu buah baris rangkuman untuk tiap group.

Contoh:
Query yang menampilkan banyak staff yang bekerja di tiap branch dan jumlah gaji mereka.
SELECT branch_no, COUNT(staff_no) AS my_count, SUM(salary) AS my_sum
FROM staff
GROUP BY branch_no
ORDER BY branch_no;

11. HAVING
Statement HAVING dibuat untuk digunakan dengan GROUP BY untuk membatasi group yang akan tampil di akhir. Penggunaannya hampir sama dengan WHERE, tetapi berbeda dalam tujuannya. Jika WHERE memfilter baris tunggal, sedangkan HAVING memfilter group.

Contoh
Dari query diatas tentang GROUP BY, cari hanya branch yang memiliki staff lebih dari satu.
SELECT branch_no, COUNT(staff_no) AS my_count, SUM(salary) AS my_sum
FROM staff
GROUP BY branch_no
HAVING COUNT(staff_no) > 1
ORDER BY branch_no;

12. REGEXP
REGEXP terdiri dari 4 diantaranya adalah sebagai berikut:

1. REGEXP_LIKE
REGEXP_LIKE sama dengan kondisi LIKE. Kecuali REGEXP_LIKE menampilkan pencocokan ekspresi regular daripada pencocokan bentuk sederhana yang ditampilkan oleh LIKE.

Bentuk umum dari REGEXP_LIKE adalah sebagai berikut:

REGEXP_LIKE(source_char, pattern, match_paramater)
  1. source_char: berisi kolom yang akan dicocokkan oleh REGEXP_LIKE
  2. pattern: berisi ekpresi regular.
  3. match_parameter: berisi teks yang dapat mengganti sifat pencocokan dari regexp. Nilainya sebgai berikut:
    a. 'i' : untuk pencocokan case-insensitive
    b. 'c' : untuk pencocokan case-sensitive
    c. 'n' : membolehkan pencocokan setiap karakter operator
    d. 'm' : membuat string menjadi banyak baris (multiple line)
    e. 'x' : mengabaikan karakter whitespace (“ “).
Contoh:
SELECT staff_no, f_name, l_name, position
FROM staff
WHERE REGEXP_LIKE(position, 'a','c');
2. REGEXP_SUBSTR
REGEXP_SUBSTR akan mengembalikan sub string berdasarkan regular ekspresi yang ada.

Bentuk umum dari REGEXP_SUBSTR :

REGEXP_SUBSTR(source_char, pattern, position, occurrence, match_parameter)
  1. source_char: berisi kolom yang akan dicocokkan oleh REGEXP_SUBSTR
  2. pattern: berisi ekpresi regular.
  3. position: nilai di mana akan dimulai pencarian. Defaultnya adalah 1, di mana pencarian dimulai dari awal karakter dari source_char.
  4. occurrence: nilai di mana occurrence dari pattern di source_char yang harus di cari. Defaultnya adalah 1.
  5. match_parameter. Sama dengan atas.
Contoh:
SELECT REGEXP_SUBSTR(position, 'Manager',1,1,'c')
FROM staff;
3. REGEXP_INSTR
REGEXP_INSTR digunakan untuk mencari posisi karakter yang dicari berdasarkan kondisi pencarian.

Bentuk Umumnya adalah sebagai berikut:

REGEXP_INSTR( source_char, pattern, position, occurrence, return_option, match_parameter )
  1. source_char: berisi kolom yang akan dicocokkan oleh REGEXP_SUBSTR
  2. pattern: berisi ekpresi regular.
  3. position: nilai di mana akan dimulai pencarian. Defaultnya adalah 1, di mana pencarian dimulai dari awal karakter dari source_char.
  4. occurrence: nilai di mana occurrence dari pattern di source_char yang harus di cari. Defaultnya adalah 1.
  5. return_option:
    - jika 0, Oracle akan mengembalikan posisi pertama dari karakter kejadian. Ini adalah defaultnya.
    - Jika 1, Oracle akan mengembalikan posisi kejadian dari karakter berikutnya.
  6. match_parameter. Sama dengan atas.
Contoh:
SELECT f_name, REGEXP_INSTR(f_name, 'a',1,1,0,'c')
FROM staff;
4. REGEXP_REPLACE
REGEXP_REPLACE digunakan untuk mengganti karakter berdasarkan karakter lain yang telah ditetapkan.

Bentuk umumnya adalah sebagai berikut:

REGEXP_REPLACE( source_char, pattern, replace_string, position, occurrence, match_parameter )

  1. source_char: berisi kolom yang akan dicocokkan oleh REGEXP_SUBSTR
  2. pattern: berisi ekpresi regular.
  3. replace_string: string yang digunakan untuk menggantikan karakter yang dituju.
  4. position: nilai di mana akan dimulai pencarian. Defaultnya adalah 1, di mana pencarian dimulai dari awal karakter dari source_char.
  5. occurrence: nilai nonnegatif yang mengindikasikan kejadian dari operasi replace.
    - Jika 0, Oracle mengembalikan seluruh kejadian yang cocok.
    - Jika angka n, Oracle akan mengganti kejadian ke-n.

Menghitung Berdasarkan Kolom

Di dalam SQL, bisa melakukan operasi di dalam kolom yang diinginkan, terutama untuk kolom yang bertipe data number.

Contoh:
SELECT staff_no, f_name, l_name, salary/12
FROM staff;


Sekian artikel tentang Beberapa Query (Perintah) Dasar Pada Databas SQL.

Related Posts

Beberapa Query (Perintah) Dasar Pada Database SQL
4/ 5
Oleh

Berlangganan

Suka dengan artikel di atas? Silakan berlangganan gratis via email