Operasi Aritmatika
•Ekspresi aritmetika dengan operand berupa kolom.SQL> SELECT nama_pegawai,
2 gaji, gaji+500000
3 FROM pegawai;
•Ekpresi Aritmetika dengan Operand
SQL> SELECT 20+30 FROM Dual;
SQL> SELECT 2*3 FROM Dual;
SQL> SELECT sysdate FROM Dual;
SQL> SELECT User FROM Dual;
•Table Dual
SQL> DESC dual;
Operasi dengan Tanggal
•Tanggal-Numerik = Tanggal
SQL> SELECT to_date('20-SEP-08') -1 FROM dual;
TO_DATE('
---------
19-SEP-08
•Tanggal-Tanggal=Numerik
SQL> SELECT to_date('20-SEP-08') - to_date('15-SEP-08') FROM dual;
TO_DATE('20-SEP-08')-TO_DATE('15-SEP-08')
-----------------------------------------
5
•Tanggal+Tanggal=ERROR
SQL> SELECT to_date('20-SEP-08') + to_date('1-SEP-08') FROM dual;
SELECT to_date('20-SEP-08') + to_date('1-SEP-08')
*
ERROR at line 1:
ORA-00975: date + date not allowed
Kolom Alias
SQL> SELECT nama_pegawai,
2 gaji gajipegawai from pegawai;
SQL> SELECT nama_pegawai, gaji,
2 gaji*0.1 kenaikan_gaji,
3 gaji + (gaji*0.1) TOTAL pegawai;
•Jika ingin menambahkan space pada kolom alias, gunakan tanda petik ganda.
SQL> SELECT nama_pegawai, gaji,
2 gaji*0.1 "Kenaikan Gaji",
3 gaji + (gaji*0.1) "TOTAL Gaji“ FROM pegawai;
•Menggunakan kolom alias bisa juga dengan menggunakan keyword AS
SQL> SELECT nama_pegawai, gaji,
2 gaji*0.1 AS "Kenaikan Gaji",
3 gaji + (gaji*0.1) AS "TOTAL Gaji“ FROM pegawai;
Penggabungan String
•Digunakan untuk mengkombinasikan beberapa kolom atau kolom dengan suatu text menjadi satu kolom output.•Contoh tanpa Concatination :
SQL> SELECT nama_pegawai,
2 jabatan
3 FROM pegawai;
•Menggunakan Concatination
SQL> SELECT nama_pegawai ||' sebagai '|| jabatan AS " Pegawai dan Jabatan"
2 FROM pegawai;
Pegawai dan Jabatan
-----------------------------------------------------------
MEUTIA JOVI MAHARANI sebagai PRESIDENT
BUDI HARTADI sebagai VP, OPERATIONS
RULLY SIANIPAR sebagai VP, SALES
EDWIN ASRUL sebagai VP, FINANCE
NOVI SETIAWATI sebagai VP, ADMINISTRATION
Nilai NULL
•Kolom yang belum ada nilainya di dalam database.SQL> SELECT id_pegawai, nama_pegawai, email FROM pegawai;
ID_PEGAWAI NAMA_PEGAWAI EMAIL
---------- ------------------------- -------------
1001 MEUTIA JOVI MAHARANI
1002 BUDI HARTADI
1003 RULLY SIANIPAR
SQL> SELECT id_pegawai, nama_pegawai,
2 NVL(email,'BELUM PUNYA EMAIL') as EMAIL FROM pegawai;
ID_PEGAWAI NAMA_PEGAWAI EMAIL
---------- ------------------------- -------------------------
1001 MEUTIA JOVI MAHARANI BELUM PUNYA EMAIL
1002 BUDI HARTADI BELUM PUNYA EMAIL
1003 RULLY SIANIPAR BELUM PUNYA EMAIL
SQL> SELECT id_pegawai, nama_pegawai, gaji,
2 gaji+ (pct_komisi*gaji) AS "Total“ FROM pegawai;
SQL> SELECT id_pegawai, nama_pegawai, gaji,
2 gaji+ (NVL(pct_komisi,0)*gaji) AS "Total"
3 FROM pegawai;
Disctinct
•Digunakan untuk menghilangkan duplikasi nilai.WHERE
SQL> SELECT id_pegawai, nama_pegawai, gaji
2 FROM pegawai WHERE gaji<5000000;
SQL> SELECT nama_pegawai, userid, tgl_masuk
2 FROM pegawai WHERE userid='edwirul'; -> Case Sensitif
SQL> SELECT nama_pegawai, userid, gl_masuk FROM pegawai
2 WHERE tgl_masuk >='01-jan-02'; ->Format Sensitif (DD:MM:RR)
•Operator Between … AND …
SQL> SELECT nama_pegawai, gaji FROM pegawai
2 WHERE gaji BETWEEN 4000000 AND 6000000;
•Operator IN
SQL> SELECT nama_pegawai, gaji FROM pegawai
2 WHERE gaji IN (2500000,4000000,5000000);
•Operator LIKE
SQL> SELECT nama_pegawai FROM pegawai WHERE nama_pegawai LIKE 'S%‘;
SQL> SELECT nama_pegawai FROM pegawai WHERE nama_pegawai LIKE '_O%‘;
•Operator IS NULL
SQL> SELECT id_pegawai, nama_pegawai, email
2 FROM pegawai WHERE email is Null;
Logical Condition
•Operator ANDSQL> SELECT id_pegawai, nama_pegawai, gaji, kode_bag FROM pegawai
2 WHERE kode_bag=41 AND gaji >8000000;
•Operator OR
SQL> SELECT id_pegawai, nama_pegawai, gaji, kode_bag FROM pegawai
2 WHERE kode_bag=41 OR gaji >8000000;
•Operator NOT
SQL> SELECT id_pegawai, nama_pegawai, gaji,
2 kode_bag FROM pegawai
3 WHERE NOT(kode_bag=41);
•Urutan Pengerjaan Operator
SQL> SELECT id_pegawai, nama_pegawai, gaji, kode_bag FROM pegawai
2 WHERE kode_bag=31 OR kode_bag=41 AND gaji > 8000000;
SQL> SELECT id_pegawai, nama_pegawai, gaji,
2 kode_bag FROM pegawai
3 WHERE (kode_bag=31 OR kode_bag=41) AND gaji > 8000000;
Order By
•Mengurutkan secara Ascending (Default)SQL> SELECT id_pegawai, nama_pegawai, gaji
2 FROM pegawai ORDER BY gaji ASC;
•Mengurutkan secara Descending
SQL> SELECT id_pegawai, nama_pegawai, gaji
2 FROM pegawai ORDER BY gaji DESC;
•Mengurutkan berdasarkan kolom Alias
SQL> SELECT id_pegawai, nama_pegawai, gaji,
2 pct_komisi, gaji + (pct_komisi*gaji) as "Total"
3 FROM pegawai ORDER BY "Total";
• Mengurutkan berdasarkan dua kolom
SQL> SELECT id_pegawai, nama_pegawai, kode_bag,
2 gaji FROM pegawai ORDER BY kode_bag, gaji DESC;
• Menggunakan urutan kolom pada Klausa SELECT
SQL> SELECT id_pegawai, nama_pegawai, kode_bag,
3 gaji FROM pegawai ORDER BY 3,4 DESC;
Angka 3 dan 4 menggambarkan urutan kolom yang ditampilkan 3(kode_bag), 4(gaji).
0 komentar: