Translate

Sunday, August 7, 2016

Lanjutan Mengenai Menampilkan Record Tertentu



I.1        Lanjutan Mengenai Menampilkan Record Tertentu


Didalam menampilkan record adakalanya membutuhkan tambahan perintah yang dapat diberikan kepada perintah SELECT .. FROM.

I.2    4.1 WHERE pada SELECT


        Jika ingin mencari  sebuah atau sekelompok data dari database, diperlukan satu atau lebih kondisi. dengan kata lain bila kita memberikan suatu kondisi pada perintah SQL, maka hanya data – data tertentu saja yang akan ditampilkan. Sebagai kata kuncinya adalah kata where yang disisipkan setelah menyebut nama tablenya. Sintaksnya adalah :
        SELECT nama_kolom FROM nama_tabel WHERE kondisi
WHERE sendiri dapat dijelaskan sebagai : kolom <operator> <nilai>
Beberapa operator yang berlaku yaitu :
Operator
Keterangan
=
sama dengan
<> 
tidak sama
lebih kecil
<=
lebih kecil atau sama
lebih besar
>=
lebih besar atau sama

Contoh : Gaji pegawai yang lebih besar dari 1000000
SQL > SELCT * FROM employee WHERE SALARY > 1000000 ;


4.2 JOIN
Pada Query dapat dilakukan antara join dua buah tabel yang berbeda tapi dengan nilai recordnya harus sama. Join adalah teknik yang digunakan untuk mengakses lebih dari satu tabel dan menggabungkan hasilnya.
Perhatikan tabel EMPLOYEE dibawah ini :
SQL > SELECT SSN, FNAME , LNAME , DNUMBER
SSN          FNAME     LNAME     DNUMBER
21012  BAMBANG    SUTRISNO    2
23112  BUDI       SUDARSONO   2
34432  EKO        PURJIANTO   4
Selanjutnya bagaimana dapat ditampilkan nama Departement (DNAME ) dari setiap Employee? Karena Nama Departement ada pada tabel DEPT, maka query berikut menampilkan nama depertement tersebut.
SQL > SELECT SSN, FNAME , LNAME , DEPT.DNAME FROM employee, dept  WHERE employee.dnumber = dept.dnumber;
SSN          FNAME     LNAME     DEPT.DNAME
21012  BAMBANG    SUTRISNO    ACCOUNTING
23112  BUDI       SUDARSONO   ACCOUNTING
34432  EKO        PURJIANTO   SALES
Perhatikan bahwa nama kolom dapat diberikan dalam format ‘<NamaTabel>.<NamaKolom>’.

I.2.1.1            AND, OR dan NOT

Untuk menggabungkan lebih dari satu kondisi, diperlukan logical AND dan OR. Sedangkan untuk negasi, perlukan NOT. Sedangkan untuk negasi, diperlukan NOT. Sebagai  contoh tampilkan Nama employee dengan gaji lebih kecil sama dengan 2000000 dan jenis kelamin 9 sex ) laki-laki ( L ).
SQL > SELECT * FROM EMPLOYEE WHERE SEX = ‘L’ AND SALARY < 2000000;
Catatan : Prioritas AND lebih kuat dari OR, sehingga kondisi OR harus dipisahkan dalam kurung sebelum AND.

I.2.2  4.3 Lebih lanjut query dengan SQL


I.2.3         4.3.1 Operator Aritmatika


Yang termasuk dalam operator aritmatika adalah tanda plus (+), minus (-), bagi (/), dan kali (*). Semua perhitungan dapat dilakukan bila tipe datanya adalah number. Bila dilakukan perhitungan secara bersamaan maka urutannya adalah : perkalian, pembagian, penjumlahan dan pengurangan.
Contoh perintah sql yang menggunakan operator aritmatika:
SQL > SELECT * FROM employee WHERE (salary + 500000) > 2000000 ;

          

I.2.3.2            Menemukan record dimana menggunakan nilai value null 

Sebuah data dalam database dianggap null bila salah satu kolom yang ada didalam tabel tidak terdapat datanya. Jadi bila data tersebut bersifat null maka operator perbandingan bersifat false atau data yang dipakai adalah isnull. Seperti pada contoh data dalam tabel gaji, ada seorang pegawai yang mempunyai gaji null, maka untuk perintah SQLnya unutuk mencari data pegawai tersebut ialah :
SQL> SELECT *  FROM employee WHERE salary is null ;
Catatan : biala dalam buah kolom terdapat nilai null maka tidak dapat digabungkan dengan menggunakan where <kondisi1>= null OR <kondisi> = null  


I.3    4.3.2   GROUP BY


GROUP BY adalah beberapa bagian dari SELECT. Pada dasarnya Oracle mengelompokkan baris berdasarkan nilai distinct yang terdapat didalam kolom tertentu. Tetapi dengan GROUP BY, dapat dilakukan konjungsi  dari kolom tersebut untuk lebih lanjut membatasi dari pencarian baris tersebut.
Sintaksnya :
SELECT kolom
FROM NamaTabel
GROUP BY kolom
Contohnya :
SQL> SELECT  SSN , AVG(SALARY)
2 FROM employee
3 GROUP BY SSN;


I.5    4.3.3 GROUP BY …… HAVING


HAVING berlaku untuk kelompok query group by dan berfungsi sebagai WHERE.
Hanya group yang mempunyai kriteria tersebut yang akan diproses ( pada WHERE  yang diproses adalah setiap record dalam tabel ).
Sintaks :
SELECT kolom
FROM NamaTabel
GROUP BY kolom
HAVING kondisi
Contohnya :
SQL> SELECT  SSN , AVG(SALARY)
2 FROM employee
3 GROUP BY SSN
4 HAVING AVG(SALARY) > 1000000 ;


I.7    4.3.4   LIKE dan NOT LIKE


Umumnya LIKE digunakan untuk permintaan yang mencari suatu teks berdasarkan prefix (kata depan), sufix (kata akhir) atau kata tengah. NOT LIKE digunakan sebagai negasi. Terdapat tanda ‘%’ menyerupai “wild character”, yaitu kata sembarangan. Jika tanda % terdiri dari 0,1 atau beberapa karakter maka tanda _ merepresentasikan persis satu huruf. Selain itu terdapat tanda Concat (||) yang digunakan untuk menggabungkan dua buah kolom yang tipe datanya karakter.
Contoh :
Menampilkan pegawai yang mempunyai nama depan BUDI.
SQL> SELECT * FROM employee WHERE FNAME LIKE ‘BUDI’;
Menampilkan pegawai yang mempunyai nama depan dimulai huruf B.
 SQL> SELECT * FROM employee WHERE FNAME LIKE ‘B%’;
I.7.1.1.1.1.1.1          
I.7.1.1.1.1.1.2         4.3.5 BETWEEN dan NOT BETWEEN
BETWEEN menyederhanakan pencarian “antara” (range), sedangkan untuk NOT BETWEEN digunakan untuk mencari yang tidak ada dalam range tersebut.
Contoh :
SQL> SELECT * FROM employee WHERE salary BETWEEN 2000000 AND 3000000 ;
SQL> SELECT * FROM employee WHERE salary NOT BETWEEN 2000000 AND 3000000 ;


I.9    4.3.6   IN dan NOT IN


IN digunakan untuk mencari nilai dalam satu kelompok nilai (daftar). Nilai dalam daftar terdiri atas satu atau lebih. Bila ingin menegatifkan pertanyaan tersebut maka dapat menggunakan NOT IN. Sebagai tambahan untuk mencari kata dalam huruf besar semua maupun kecil semua dapat menggunakan fungsi (UPPER) dan (LOWER).
Syntagnya :
SELECT kolom1 , kolom2 …
FROM NamaTabel
WHERE kolom IN ( Nilai1, Nilai2 , … )
Contoh :
Menampilkan Nama depan BUDI atau AGUS
SQL> SELECT SSN,FNAME ,LNAME FROM employee WHERE
2 FNAME IN ( ‘BUDI’ , ‘AGUS’);

        EXIST adan NOT EXIST
Fungsi EXIST didalam SQL adalah untuk mengecek nilai dari korelasi yang dihasilkan dari query. Exist memberikan nilai return TRUE, jika didalam query minimal terdiri dari satu record, sedangkan NOT EXIST memberikan nilai TRUE, jika dalam hasil query tidak satupun record dihasilkan.
Contoh menampilkan pegawai tidak bekerja dalam suatu proyek.
SQL>SELECT SSN,FNAME,LNAME
2 FROM EMPLOYEE
3 WHERE NOT EXIST
4 ( SELECT * FROM WORKS_ON WHERE employee.ssn = works_on.ssn);


No comments:

Post a Comment

silahkan membaca dan berkomentar