Function pada SQL. Aggregate Functions Scalar functions. Arithmetic functions String functions Date functions

dokumen-dokumen yang mirip
Oracle Academic Initiative

PERTEMUAN 3 FUNGSI BARIS TUNGGAL

PRAKTIKUM 5 SISTEM BASIS DATA JOIN

MODUL 6. Advanced Query : Fungsi Baris Tunggal dan Fungsi Multi Baris PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

PRAKTIKUM 8 SINGLE ROW & GROUP FUNCTION

Untuk mencoba contoh-contoh perintah join, silahkan eksekusi query create+insert dibawah ini:

PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG Praktikum Basis Data Terapan 2

RENCANA PEMBELAJARAN

Modul 3 : Query Penggabungan Tabel

STRUCTURED QUERY LANGUAGE (SQL) (Implementasi menggunakan MySQL)

Kontrak Kuliah. Menggunakan Fungsi- Fungsi SQL. Edi Sugiarto, S.Kom, M.Kom

Single-row Function dan Group Function

Fungsi Aritmatika, Fungsi Konversi dan Fungsi Karakter. M. Saefudin SKom, MMSI

SQL (STRUCTURED QUERY LANGUAGE)

1. Buat planing view sesuai kebutuhan topik anda (jelaskan dengan detail masing-masing view yang anda buat)

M0564-Pengantar Sistem Basisdata 12/ 1

BAB 11 FUNGSI-FUNGSI SQL SERVER

PERTEMUAN 6 SUBQUERY

Oracle Academic Initiative

Kitab Kumpulan Tips, Latihan, dan Soal Database

Oracle Academic Initiative

Mata Kuliah Pemograman Oracle 1

10.2. String Function Fungsi ini digunakan untuk memanipulasi data baik berupa karakter maupun berupa string.

SUBQUERY VIEW JOIN PRAKTIKUM BERKAS DAN BASIS DATA 2010/2011. Rizki Arif Firdaus

MENAMPILKAN DATA DARI BANYAK TABEL

BAB 2 : Dasar Penulisan Statemen SQL Sasaran Mengetahui kemampuan dari SQL SELECT Statement Dapat membuat perintah SQL dengan SELECT Statement

Oracle Academic Initiative

Pertemuan 11. Bahasa Query Terapan Lanjutan

Oracle Academic Initiative

MODUL 3 JOIN TABLE. Gambar Model Relasi Basis Data db_mutiara SMK NEGERI 1 CIMAHI REKAYASA PERANGKAT LUNAK

LAPORAN PRAKTIKUM BASIS DATA LANJUT I

Bab 3. Query Lanjutan POKOK BAHASAN: TUJUAN BELAJAR:

SUBQUERY-2. MI2154 SQL LANJUT Dedy Rahman Wijaya, S.T., M.T., OCA

Strctured Query Language BASIS DATA

Praktikum Sistem Basis Data

MODUL V DATA MANIPULATION LANGUAGE (DML) 1

LAPORAN PRAKTIKUM BASIS DATA LANJUT I

SISTEM INFORMASI Marta Lenah Haryan8 Copyright Wondershare So3ware

Oracle Academic Initiative

PERTEMUAN 5 PENGGUNAAN FUNGSI GROUP

MODUL 8. Sub Query Pada baris dan Kolom PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

Apa yang akan dibahas? Pengertian SQL Penggolongan Statement SQL Aturan Gramatika SQL Struktur Dasar SQL Query Satu (1) Tabel

Macam - Macam Perintah Pada SQL

B. PETUNJUK. 2. Join. Praktikum Basis Data 2017 TE UM

MODUL 4. Query SELECT dan DML (INSERT, UPDATE, DELETE) PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

STRUCTURE QUERY LANGUAGE DDL & DML

TABLE JOIN SQL SERVER 2005

BAHASA QUERY KOMERSIAL

BAB V. Basis Data Darmawan Satyananda 74

Arsitektur Basis Data Oracle

BAHASA QUERY KOMERSIAL

SUBQUERY VIEW JOIN PRAKTIKUM BERKAS DAN BASIS DATA 2010/2011. Rizki Arif Firdaus

BAHASA QUERY KOMPLEKS

Data Manipulation Language (DML)

Mahasiswa memahami fungsi-fungsi lain di dalam SQL Mahasiswa memahami tentang operasi agregasi Mahasiswa mampu mengaplikasikan operasi agregasi

Basis Data. Bagian IV SQL (3) Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan

Perkenalan SQL. Ada empat macam tipe database yaitu hirarki, jaringan, relasional, dan objek.

Oracle Academic Initiative

Pemrograman Basis Data dan SQL Modul ke: Pemrograman PL/SQL

Riyanto

Pengantar basis data Manipulasi SQL

Untuk menampilkan data-data yang telah tersimpan dalam database diperlukan perintah SELECT, yang dapat dirumuskan sebagai berikut:

MODUL 5. Advanced Query : Pemilihan dan Pengurutan Data PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

Database Systems: Lab. Actvity 2: Fungsi-Fungsi MySql. Agenda. Fungsi String Fungsi Tanggal dan Waktu Fungsi Numerik Fungsi Lainnya.

Praktikum Basis Data 2017 TE UM MODUL 6 SUB QUERY

B a s i s D a t a. Tatap MUka. SQL Query & Agregate Function. Arif Basofi PENS

DAFTAR ISI. DAFTAR ISI... 1 PRAKATA Pengenalan dan Lingkungan Kerja MySQL Tujuan... 4 Dasar Teori... 4 Praktik... 5

MODUL PEMPROGRAMAN SQL TINGKAT DASAR 1 STANDAR KOMPETENSI: MENERAPKAN BAHASA PEMPROGRAMAN SQL TINGKAT DASAR SMK NEGERI 1 MAJALENGKA

PERTEMUAN 9 MANIPULASI DATA

MICROSOFT OFFICE EXCEL 2007

Kegiatan Praktikum Sistem Basis Data Kelompok B

PERINTAH SQL DAN INTERKONEKSI PHP-MySQL

PERTEMUAN 2 PEMILIHAN DAN PENGURUTAN DATA

Latihan : Sebutkan record berapa saja yang akan ditampilkan berdasarkan perintah berikut :

Constraint dan Manajemen Data dalam Timezone Berbeda

Structured Query Language

PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

Structured Query Language

SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG


S Q L. Sejarah SQL. Penulisan Perintah SQL. SQL (Structure Query Language)

PERTEMUAN 4 MENAMPILKAN DATA DARI BANYAK TABEL

Modul 3 Pengelolaan Tabel

Praktikum Basis Data 14 Structure Query Language 2

PERTEMUAN 11 SQL(lanjutan): Queries, Constraints & Triggers. (Chap. 5 Ramakrishnan)


Oracle Academic Initiative

3 rd DML : Selection(3)

APLIKASI PERKANTORAN MICROSOFT EXCEL Oleh : Ahmad Rudini, S.Kom

BAB II PEMBUATAN DAN MANAJEMEN TABLE

MODUL 3. View PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

MODUL III STRUCTURED QUERY ANGUAGE (SQL)

Basis Data. Bagian IV SQL (2) Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan

@Tessy Badriyah, SKom. MT. PERTEMUAN 12 VIEW

SQL LANJUT BASIS DATA. Rajif Agung Yunmar, S.Kom., M.Cs.

Sejarah(1) Sejarah(2) STRUCTURE QUERY LANGUANGE (1) Definisi SQL

Pengertian Query. Query adalah perintah-perintah untuk mengakses data pada sistem basis data

PRAKTIKUM 1. Dasar-Dasar Matlab. (-), perkalian (*), pembagian (/) dan pangkat (^). Simbol ^ digunakan untuk

PERTEMUAN 10 PEMBUATAN TABEL

Transkripsi:

Function pada SQL Aggregate Functions Scalar functions Arithmetic functions String functions Date functions

Aggregate Functions Function AVG(column) COUNT(column) COUNT(*) MAX(column) MIN(column) SUM(column) Keterangan Menghitung rata-rata nilai column Menghitung jumlah data pada kolom Menghitung jumlah baris pada tabel Mencari nilai terbesar pada kolom tersebut Mencari nilai terkecil dari kolom tersebut Menjumlahkan data yang ada pada kolom

Contoh Perintah Agregate Function Pola perintahnya : SELECT function(column) FROM table select count(nim) from mahasiswa select Max(nim) from mahasiswa select UPPER(nama) from mahasiswa

Fungsi Aritmatika Arithmetic Functions Fungsi Kegunaan Contoh ABS Mengembalikan nilai absolute ABS(-10) = 10 CEIL EXP FLOOR Mengembalikan bilangan bulat terbesar Mengembalikan nilai pemangkatan bilangan natural (e x ) Mengembalikan bilangan bulat terkecil CEIL(4.2) = 5 CEIL(-4.2) = -4 EXP(0) = 1 EXP(1) = 2.718 FLOOR(4.2) = 4 FLOOR(-4.2) = -5 LN Mengembalikan nilai LN(2) = 0.693147181 logaritma natural LOG Mengembalikan nilai LOG(10,10) =1 logaritma MOD Menghasilkan sisa pembagian MOD(4,2) = 0 MOD(7,2) = 1 POWER Mengembalikan nilai pangkat POWER(2,3) = 8 ROUND SIGN SIN, COS, TAN, SINH, COSH,TANH Mengembalikan bilangan pembulatan Mengembalikan nilai positif, negative, atau nol. Nilai balikan sign ada tiga yaitu 1 jika x>0 0 jika x=0-1 jika x<0 ROUND(5.56,1) = 5.6 SIGN(-6) = -1 SIGN(3) = 1 Fungsi trigonometri SIN(0) = 0 COS(90) = 0 SQRT Mengembalikan nilai akar SQRT(16) = 4 TRUNC Mengembalikan nilai yang telah dipotong TRUNC(5.671,2) = 5.67

Fungsi Karakter / String String Functions Fungsi Kegunaan Contoh ASCII(karakter) CHR(nilai_ASCII) Memgembalikan nilai ASCII dari karakter Memgembalikan karakter dari sebuah nilai ASCII ASCI( A ) = 65 CHR(65) = A CONCAT(teks1, teks2) Menggabungkan teks1 dan teks2 CONCAT ( sate, ayam ) DECODE(field, kode_decode) GREATEST(nilai1, nilai2, nilai3, ) INITCAP(String) INSTR (teks1, teks2) INSTR(teks1, teks2, i) INSTR(teks1, teks2, 1, n) Menggantikan nilai yang terdapat di dalam field dengan nilai lain. Mengembalikan nilai terbesar dari sederetan nilai Mengembalikan string yang terdiri dari huruf kapital pada setiap kata. Mencari posisi teks2 yang terdapat di dalam teks1. Pencarian dapat dimulai dari posisi ke-i. n menyatakan pengulangan yang ke-n kali dari teks2 yang terdapat di dalam teks1. = sate ayam DECODE(bulan,1, Januari, 2, Februari, 3, Maret, 4, April, 5, Mei, 6, Juni, Bulan Lain ) bulan GREATEST (3,10,15,4) = 15 INITCAP( politeknik telkom ) = Politeknik Telkom INSTR ( SQL n PL/SQL, SQL ) = 1 INSTR ( SQL n PL/SQL, SQL, 4) = 10 INSTR ( SQL n PL/SQL, SQL,1,2) = 10

LEAST(nila1, nilai2, nilai3, ) Mengembalikan nilai terkecil dari sederetan nilai LEAST(2,2,5,1,6) = 1 LENGTH(String) Mengembalikan panjang String LENGTH( 1233 ) = 4 LOWER(String) Mengubah String menjadi huruf kecil LOWER semuanya ( PoLTeK ) LPAD (teks1, n, teks2) LTRIM (teks1, teks2) REPLACE (teks1, teks2, teks3) RPAD (teks1, n, teks2) Menyisipkan karakter teks2 ke dalam teks1 untuk karakter kosong sepanjang n disebelah kiri teks1 Menghapus karakter-karakter pada bagian kiri teks1 sehingga tidak diawali dengan sembarang karakter pada teks2. Default teks2 adalah spasi Menggantikan kemunculan karakter teks2 di dalam teks1 dengan teks3. Bila teks3 tidak disebutkan maka teks2 pada teks1 akan dihapus karena default teks3 null Menyisipkan karakter teks2 ke dalam teks1 untuk karakter kosong sepanjang n disebelah kanan teks1 = poltek LPAD ( Oracle, 10, / ) = ////Oracle LTRIM ( xxxoracle, x ) = Oracle REPLACE ( siswa, a, i ) = siswi RPAD ( Oracle, 10, / ) = Oracle//// RTRIM (teks1, teks2) SUBSTR(Teks,i) SUBSTR(Teks, i, n) TRANSLATE (teks1, teks2, teks3) UPPER(String) Menghapus karakter-karakter pada bagian kanan teks1 sehingga tidak diakhiri dengan sembarang karakter pada teks2. Default teks2 adalah spasi Mengambil karakter pada string teks dimulai dari posisi ke-i (dari kiri ke kanan) sebanyak n buah. Jika i bernilai negatif, maka posisi ke-i dimulai dari kanan ke kiri Menggantikan kemunculan karakter teks2 di dalam teks1 dengan teks3. perbedaannya dengan REPLACE adalah karakter yang digantikan dilakukan secara individual Mengubah String menjadi huruf besar semuanya RTRIM ('123000', '0') = 123 SUBSTR( ABCD, 2) = BCD SUBSTR ( ABCD, -3, 2 ) = BC UPPER( PoLTeK ) = POLTEK

Date Functions Fungsi Kegunaan Contoh ADD_MONTHS (tanggal, n) Menambah atau mengurangi tanggal terhadap n sysdate =06-JUL-05 ADD_MONTHS (sysdate, 2) = 08-JUL-05 ADD_MONTHS (sysdate, -2) = 04-JUL-05 LAST_DAY (tanggal) MONTHS_BETWEEN (tanggal 2, tanggal1) Menghasilkan tanggal terakhir pada sebuah bulan Mengahsilkan selisih tanggal2 dan tanggal1 dalam satuan bulan LAST_DAY (sysdate) = 31-JUL-05 MONTHS_BETWEEN ( 01-JUL-05, 14-MAR-05 ) = 3.58064516129032 NEXT_DAY() TO_CHAR (tanggal, format) Mengembalikan tanggal berikutnya Mengubah tanggal menjadi bentuk karakter sesuai dengan format. Sehingga dapat ditampilkan sebagai string NEXT_DAY() = 07-JUL-05 TO_CHAR (sysdate, DD-MM-YYYY ) = 06-07- 2006

Cartesian Product Jika kita melakukan operasi seperti ini: SELECT * FROM A, B; maka akan dihasilkan??

Join Operation Untuk menghindari fenomena cartesian product maka operasi tersebut harus memiliki kondisi pada klausa where untuk melibatkan kolom-kolom yang terdapat pada tabel yang terlibat join yang memiliki kesamaan dan keserupaan maksud representasi dari kolom tersebut. Operasi ini disebut sebagai join.

Jika kita melakukan operasi: SELECT * FROM A, B WHERE A.A1 = B.B1;

Jenis operasi join: Equjoin/simple join/inner join adalah join yang menggunakan operator sama dengan (=) pada join condition-nya. Self Join adalah query yang menggabungkan sebuah tabel dengan dirinya sendiri. Tabel tersebut muncul dua kali pada klausa from dan masing-masing harus diikuti dengan nama aliasnya. Penggunaan tabel alias ini wajib dilakukan untuk menghindari ambiguous karena semua nama kolom pada tabel pertama ada juga pada tabel kedua. Outer join biasanya digunakan ketika kita ingin baris data dari tabel yang pertama, atau dari tabel yang kedua atau dari keduanya tetap ditampilkan meskipun tidak terdapat pasangan baris data tersebut dari tabel lain pada kondisi join-nya.

Join dengan perintah From select pegawai.nip, pegawai.nama, pegawai.kd_unit, unit.nama_unit from pegawai, unit where pegawai.kd_unit=unit.kd_unit; select a.nip, a.nama, a.kd_unit, b.nama_unit from pegawai a, unit b where a.kd_unit=b.kd_unit;

Join dengan perintah Inner Join select pegawai.nip, pegawai.nama, pegawai.kd_unit, unit.nama_unit from pegawai inner join unit on pegawai.kd_unit=unit.kd_unit; Biasanya join dilakukan pada tabel yang mempunyai foreign-key pada suatu tabel dihubungkan dengan primary-key pada tabel yang lainnya

Outer Join Kebalikan dari Inner Join, dimana inner join akan mencari data yang sama pada kedua belah tabel, sementara Outer Join adalah memungkinkan untuk menampilkan data walaupun data tidak ditemukan pada sebelah tabel. Data yang tidak ketemu akan diberikan nilai null. Misalkan tabel A dijoinkan dengan tabel B. semua baris data pada tabel A ingin ditampikan walaupun tidak memenuhi join condition. Untuk itu operator outer join (+) pada join condition harus disertakan setelah kolomkolom tabel B. Penulisannya adalah sbb: a.col_name=b.col_name(+) atau dengan menggunakan a left outer join b on a.col_name=b.col_name;

Outer Join Penulisan query untuk OUTER JOIN ini dibentuk menjadi 3 bagian sbb: LEFT JOIN RIGHT JOIN FULL JOIN SELECT nama_kolom FROM nama_tabel_1 (LEFT RIGHT FULL) [OUTER] JOIN nama_tabel_2 ON relasi_tabel

Outer Join Misalkan ditampilkan semua data pegawai meskipun pegawai tersebut tidak memiliki unit kerja: select pegawai.nip, pegawai.nama, pegawai.kd_unit, unit.nama_unit from pegawai, unit where pegawai.kd_unit=unit.kd_unit(+); select pegawai.nip, pegawai.nama, pegawai.kd_unit, unit.nama_unit from pegawai left outer join unit on pegawai.kd_unit=unit.kd_unit;

Contoh kasus untuk Inner/simple Join Menampilkan data pegawai yang sudah memiliki unit kerja. Untuk outer Join Menampilkan data karyawan yang maupun belum memiliki unit kerja.

Self Join Adalah query yang menggabungkan sebuah tabel dengan dirinya sendiri. Contoh penggunaan self join adalah mencari atasan atau bawahan yang dimiliki oleh seorang pegawai. Query: select b.nip, b.nama, a.nip as "nip atasan", a.nama "nama_atasan" from pegawai a, pegawai b where a.nip=b.atasan;

Self Join Tabel Pegawai b Tabel Pegawai a Hasil Join

Query Bersarang Merupakan query yang berada didalam query lainnya. Subquery sering disebut sebagai inner query, sedangkan query induknya disebut sebagai outer query. Query bersarang atau nested query dapat digunakan insert, update, delete, maupun select statement.

Didalam statement SELECT, subquery boleh ada pada klausa-klausa berikut ini: Klausa select. Klausa from. Klausa where. Klausa having. Subquery pada klausa where sering disebut sebagai nested subquery. Sedangkan subquery pada klausa from disebut sebagai inline view.

Subquery pada klausa select (menampilkan nama unit tempai pegawai bekerja): select nip, nama, kd_unit, (select nama_unit from unit b where a.kd_unit=b.kd_unit) from pegawai a; Subquery pada klausa from (menampilkan data pegawai dari tabel yang telah difilter dari nilai null): select nip, nama, kd_unit from (select * from pegawai where kd_unit is not null);

Subquery pada klausa where (menampilkan data pegawai yang se-unit dengan pegawai dengan nip 54): select nip, nama, kd_unit from pegawai where kd_unit=(select kd_unit from pegawai where nip='54'); Subquery pada klausa having(menampilkan data unit yang gaji pegawainya diatas rata-rata seluruh pegawai): select kd_unit, min(gaji), max(gaji), avg(gaji) from pegawai group by kd_unit having avg(gaji) > (select avg(gaji) from pegawai);

Klausa pada Query bersarang Klausa IN Subquery yang dilakukan menggunakan klausa IN akan dilakukan pengecekan apakah suatu nilai ada atau tidak dalam hasil dari subquery. Contoh: select * from pegawai where kd_unit in(select kd_unit from unit); Klausa ALL Membandingkan nilai dengan setiap nilai yang dikembalikan oleh query tersarang. Kondisi perbandingan akan bernilai benar jika semua nilai yang dikembalikan oleh subquery memenuhi kondisi tersebut. Contoh: select * from pegawai where gaji > all(select gaji from pegawai);

Klausa pada Query bersarang Klausa ANY/SOME Membandingkan nilai dengan salah satu nilai yang dikembalikan oleh query tersarang. Kondisi perbandingan akan bernilai benar jika salah satu nilai yang dikembalikan oleh subquery memenuhi kondisi tersebut dan akan bernilai salah atau tidak terpenuhi jika subquery tidak mengembalikan nilai apapun (tabel kosong). Contoh: select * from pegawai where gaji > any(select gaji from pegawai); Klausa [NOT] EXISTS Klausa EXISTS digunakan untuk melakukan pengecekan apakah hasil dari nested query yang berkorelasi menghasilkan baris data atau tidak. Operator exists akan menghasilkan nilai TRUE jika subquery yang mengikutinya menghasilkan paling tidak satu baris data. Contoh: select * from pegawai a where exists(select * from unit b where a.kd_unit=b.kd_unit);

Rangkuman Perintah-perintah query dilengkapi dengan berbagai fungsi untuk memperoses datanya. Terdapat dua kelompok fungsi, yaitu: Aggregate Functions Scalar functions Join operation digunakan untuk menampilkan data yang berasal dari dua atau lebih tabel yang terkait Keyword yang digunakan dapat menggunakan Inner Join dan Outer Join

Rangkuman inner join akan mencari data yang sama pada kedua belah tabel, sementara Outer Join adalah memungkinkan untuk menampilkan data walaupun data tidak ditemukan pada sebelah tabel. Data yang tidak ketemu akan diberikan nilai null. Query bersarang digunakan sebagai kondisi pembanding untuk menampilkan data Beberapa kalusa yang dapat digunakan adalah: IN, ANY/SOME, EXISTS or NOT EXISTS

Tugas e -learning dari contoh kasus pada UTS anda buatlah contoh query dan hasil screenshotnya untuk 1. kasus agregasi menggunakan count,max,min,adv 2. join dengan dua table dan 3 table 3. inner join 4. self join 5. query bersarang