0% menganggap dokumen ini bermanfaat (0 suara)
355 tayangan

SQL 03 - Restricting & Sorting Data

Dokumen tersebut membahas tentang SQL function, termasuk single row function dan multiple row function, serta contoh-contoh fungsi character, number, dan date beserta penjelasannya. Diberikan juga beberapa contoh query SQL untuk mempraktekkan penggunaan berbagai fungsi tersebut.

Diunggah oleh

Abrianto Nugraha
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
355 tayangan

SQL 03 - Restricting & Sorting Data

Dokumen tersebut membahas tentang SQL function, termasuk single row function dan multiple row function, serta contoh-contoh fungsi character, number, dan date beserta penjelasannya. Diberikan juga beberapa contoh query SQL untuk mempraktekkan penggunaan berbagai fungsi tersebut.

Diunggah oleh

Abrianto Nugraha
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 53

syurfah@gmail.

com

SQL (Structure Query Language)


Pertemuan 3 RESTRICTING AND SORTING DATA

PART 1

SQL FUNCTION

Single-row function : tiap record menghasilkan satu output Multiple-row function : Beberapa record menghasilkan satu output

Tipe dari SQL Function

Melakukan perhitungan Merubah data item Manipulasi hasil untuk sekelompok baris Memformat tampilan tanggal dan angka Merubah tipe data dari suatu kolom.

Single Row Functions

Function_name merupakan nama dari fungsi yang akan digunakan Arg1, arg2 merupakan argument yang digunakan oleh fungsi. Bagian ini dapat direpresentasikan dalam bentuk nama kolom atau ekspresi.

Isi dari argument dapat berupa : konstanta yang dideklarasikan oleh user, nilai variabel, nama kolom atau ekspresi.

Single Row Functions


Character

General

Number

Single Row Functions

Conversion

Date

Fungsi CHARACTER

Fungsi karakter menerima input berupa karakter dan mengembalikan nilai yang bisa berupa karakter maupun angka. Fungsi karakter dibagi menjadi 2 kelompok yaitu :

Case-manipulation functions

berguna untuk mengubah karakter dari huruf kecil ke huruf besar atau sebaliknya digunakan untuk memanipulasi karakter, misal menggabungkan karakter, mengambil sebagian karakter dari sebuah kalimat, serta mengetahui panjang dari sebuah kalimat.

Character-manipulation functions

Fungsi Character ~ Case-manipulation


Kelompok Fungsi LOWER (coloumn | expression) Kegunaan Mengubah ke huruf kecil

Case Manipulation Functions

UPPER (coloumn | expression)


INITCAP (coloumn | expression)

Mengubah ke huruf besar

Kerjakan, lalu amati

Select last_name, upper(last_name), lower(last_name), initcap(last_name) from employees;

BACK

Fungsi Character ~ Character manipulation

Fungsi Character ~ Character manipulation


Kelompok Fungsi Concat (column1|expressions1, column2|expressions2 SUBSTR (column|expressions, m[,n]) Character Manipulatio n Functions Kegunaan Menggabungkan kalimat atau karakter pertama dgn kalimat atau karakter kedua Mengambil karakter mulai dari posisi m sebanyak n. Jika n tidak dituliskan, maka semua karakter mulai posisi ke m sampai terakhir akan diambil. Menambahkan karakter tertentu disebelah kiri suatu kalimat, sehingga panjang kalimat menjadi n.

LPAD (column|expressions, n, string)

RPAD(column|expressions, n, string)

Menambahkan karakter tertentu disebelah kanan suatu kalimat, sehingga panjang kalimat menjadi n.

Fungsi Character ~ Character manipulation


Kelompok Fungsi Kegunaan Mengembalikan nilai banyaknya karakter di dalam ekpresi tersebut Mengembalikan posisi numerik dari sebuah string. Secara opsional dapat menggunakan posisi m untuk mulai mencari dan kehadiran n pada string. Secara default m dan n adalah 1, artinya pencarian dimulai dari posisi pertama dan laporan diberikan ketika pertama kali menemukan hasilnya.

Length (kolom/ekspresi)

Character Manipulatio n Functions INSTR (kolom/ekspresi, string, [, m] [, n])

Fungsi Character ~ Character manipulation

Kelompok

Fungsi Replace (teks, cari_string, string_pengganti)

Kegunaan
Mencari ekpresi teks dari sebuah string dan menggantinya dgn string_pengganti memungkinkan untuk melakukan trim karakter yang berada depan (leading) maupun yang di belakang (trailing). Jika trim_character atau trim_source adalah karakter literal, keduanya harus diapit dengan tanda petik tunggal.

Character Manipulatio n Functions TRIM (leading|trailing|both, trim_character FROM trim_source))

Kerjakan, lalu amati

Select first_name, last_name, concat(first_name,last_name), substr(first_name,2,3), length(last_name) ,instr(first_name, 'a') from employees;

Kerjakan, lalu amati

Select salary, lpad(salary,12,'&'), rpad(salary,12,'&') from employees;

Kerjakan, lalu amati

Select last_name, replace(last_name, 'e', 'o'), trim('a' from last_name) from employees;

Kerjakan, lalu amati

Select last_name, replace(last_name, 'e', 'o') GANTI, trim('a' from last_name) HAPUS from employees;

BACK

Fungsi NUMBER

Fungsi angka digunakan untuk memanipulasi suatu angka

Fungsi NUMBER
Kelompok Fungsi Kegunaan Membulatkan suatu nilai sampai n desimal. Jika n tidak disebutkan, berarti tidak ada nilai desimal, jika n bernilai negatif berarti dibulatkan kekiri sesuai dengan nilai n

ROUND(column|expression, n)

Number Functions TRUNC(column|expression, n)

Memotong suatu nilai sampai n desimal. Jika n tidak disebutkan, maka n bernilai 0. Jika n bernilai negatif berarti dibulatkan kekiri sesuai dengan nilai n
Mencari nilai sisa dari m dibagi n

MOD(m, n)

Kerjakan, lalu amati

SELECT ROUND(45.923,2), ROUND(45.923,0), ROUND(45.923,-1) FROM DUAL;

SELECT TRUNC(45.923,2), TRUNC(45.923,0), TRUNC(45.923,-1) FROM DUAL;

SELECT Job_id, last_name, salary, MOD(salary, 5000) FROM employees WHERE job_id = 'SA_REP';

BACK

Fungsi DATE

Oracle database menyimpan tanggal dalam format angka yang terdiri dari: abad, tahun, bulan, tgl, jam, menit dan detik, nilai tanggal yang dapat disimpan oleh Oracle adalah antara 1 Januari 4712 SM sampai 31 Desember 9999. Sedangkan untuk tampilan defaultnya menggunakan format DD-MON-RR, yang berarti menampilkan 2 digit angka yang menunjukkan tanggal, kemudian 3 digit karakter terdepan dari nama bulan, dan 2 digit terakhir dari tahun. Meskipun saat ditampilkan tahunnya hanya terdiri dari dua digit, tetapi pada penyimpanannya tetap 4 digit, dimana 2 digit terdepan menunjukkan abad dan 2 digit berikutnya menunjukkan tahun.

Fungsi DATE

Oracle mengenali format tanggal dimana tahun yang dituliskan dua digit akan dikenali seperti berikut ini: Untuk tahun sistem yg berlaku 0 49, maka dua digit tahun pada tanggal berkisar 0-49, dimaknai tahun pada abad sama dengan abad tahun sistem berkisar 50-99, dimaknai tahun pada abad sebelum abad tahun sistem Untuk tahun sistem yg berlaku 50 99, maka jika dua digit tahun pada tanggal berkisar 0-49, dimaknai tahun pada abad setelah abad thn sistem berkisar 50-99, dimaknai tahun pada abad sama dengan abad tahun sistem

Fungsi DATE

Jika Tahun Sistem yang berlaku misalnya 1999, maka perintah yang sama dengan Contoh sebelumnya akan menghasilkan makna thn sebagai berikut

SELECT last_name, hire_date FROM employees WHERE hire_date < '01-FEB-88';

Thn sistem 1999 (50-99) abad 2000, maka Thn 88 (50-99) adalah Tahun 1988 (abad 2000)

SELECT last_name, hire_date FROM employees WHERE hire_date < '01-FEB-05';

Thn sistem 1999 (50-99) abad 1900, maka Thn 05 (049) adalah Tahun 2005 (abad 2001)

Fungsi DATE

Untuk menampilkan tanggal dan waktu dari database server digunakan fungsi SYSDATE. Fungsi SYSDATE digunakan sebagaimana nama kolom pada perintah SELECT.

SYSDATE

adalah fungsi yang mengembalikan : Date Time

Fungsi DATE ~ Aritmatika

Untuk memanipulasi data bertipe tanggal, selain menggunakan operasi aritmatik, juga bisa memanfaatkan fungsi tanggal. Semua fungsi tanggal akan menghasilkan data bertipe tanggal, kecuali fungsi MONTHS_BETWEEN yang menghasilkan angka.

Fungsi DATE ~ Aritmatika

Kerjakan, lalu amati

SELECT hire_date, hire_date+2, hire_date-2, Round((Sysdate - hire_date) / 7,2) AS WEEKS, hire_date + 90/24 FROM employees ;

BACK

Practice makes habit!


Buat query untuk : 1) Menampilkan nilai ASCII dari karakter s, a dan i 2) Lakukan sebailknya dari nomer 1. 3) Menampilkan struktur tabel dari Departments. Kemudian tampilkan semua datanya. Apa tujuan dari perintah ini : SELECT employee_id, CONCAT(first_name, last_name) NAME, job_id, LENGTH (last_name), INSTR(last_name, 'a') FROM employees; Bagaimana perintah untuk membatasi baris (record) di nomer 4, yang memiliki job_berawalan IT

4)

5)

Practice makes habit!


6.

Tuliskan perintah dalam SQL untuk menampilkan hire_date, menampilkan gabungan first_name dan last_name dimana first_name dalam huruf kecil, dan last_name dalam huruf kapital dari tabel Employees untuk baris (record) yang memiliki hire_date diantara 2-Feb1980 s/d 2-Feb-1990. Tuliskan perintah dalam SQL untuk menampilkan first_name, dua huruf pertama dari Job_id, panjang karakter pada Email dari tabel Employees untuk baris (record) yang memiliki karakter e di tengah

7.

PART 2

select 'Gaji ' || First_name || ' adalah ' || salary from employees

select first_name || ' '|| hire_date from employees

select 'Gaji ' || First_name || ' adalah ' || to_char(salary) from employees

select first_name || ' '|| to_char(hire_date ) from employees

SELECT first_name || ' ' || TO_CHAR(hire_date, 'DD Month YYYY'), TO_CHAR(hire_date, 'DD Mon Year') AS HIREDATE1, TO_CHAR(hire_date, 'Day') AS HIREDATE2, TO_CHAR(hire_date, 'DY DD-MM-YY') AS HIREDATE3 FROM employees;

SELECT first_name || ' ' || TO_CHAR(salary, '$99,999.00'), TO_CHAR(salary, '$00,000.00') FROM employees

TO_NUMBER & TO_DATE


SELECT first_name, salary, salary+TO_NUMBER('10000'), hire_date, hire_date TO_DATE('2-Feb-80') FROM employees

GENERAL FUNCTIONS
Fungsi-Fungsi yang berkaitan dengan berbagai tipe data mengenai nilai Null. NVL (expr1, expr2) Jika Expr1 bukan Null, maka Output berupa Expr1 Jika Expr1 bernilai Null, maka Output berupa Expr2 NVL2 (expr1, expr2, expr3) Jika Expr1 bukan Null, maka Output berupa Expr2 Jika Expr1 bernilai Null, maka Output berupa Expr3 NULLIF (expr1, expr2) Jika Expr1 = Expr2, maka Output berupa Null Jika Expr1 Expr2, maka Output berupa Expr1 COALESCE (expr1, expr2, ..., exprn) Jika Expr1 , Expr2, Exprn-1 semuanya Null, maka Output adl Exprn Sebaliknya, maka Output berupa salah satu Expr1, Expr2, . Exprn-1 yang tidak null (diprioritaskan Expr yang terkiri)

SELECT department_id, last_name, salary, commission_pct KOMISI, manager_id, length(first_name), length(last_name), NVL(commission_pct,0) AS KOMISI_1, NVL2(commission_pct,Commission_pct, 0) AS KOMISI_2, NVL2(commission_pct,Salary+Salary*Commission_pct, Salary) INCOME, NULLIF(LENGTH(first_name), LENGTH(last_name)) AS RESULT_1, COALESCE(manager_id, commission_pct, -1) AS RESULT_2 FROM employees where Last_Name like '%K%' or Last_Name like '%L%';

Latihan : 1. Tuliskan query untuk menampilkan manager_id, menampilkan hire_date dalam format seperti 17/Jun/99 lalu digabungkan dengan Email (dalam huruf kecil), menampilkan salary dalam format seperti Rp. 07,000 dari tabel employees untuk baris (record) yang memiliki manager_id bukan 100,102 , dan memiliki Email yang mengandung huruf K di awal Email.

Latihan : 2. Tuliskan perintah dalam SQL untuk menampilkan employee_id, first_name, salary, job_id, bonus dengan ketentuan sebagai berikut: Untuk dua huruf pertama dari Job_id jika bernilai IT diberi bonus = 10% x salary AD diberi bonus = 20% x salary Selain IT dan AD diberi bonus = 0 dari tabel employees untuk baris (record) yang memiliki employee_id < 110

Practice makes habit!


Buat query untuk : 1) Menampilkan isi dari tabel Employees 2) Menampilkan struktur tabel dari Departments. Kemudian tampilkan semua datanya. Menampilkan semua tabel yang dimiliki oleh user HR Menampilkan kolom hire date, job_id dan salary Menampilkan employee_id, first_name, salary, nilai salary ditambah 5000 dan judul kolomnya diganti menjadi new_salary. Menampilkan job_id, secara unik dari table employees Menampilkan seluruh karyawan dan job_id-nya. Tampilkan last_name yang digabung dengan job_id-nya (pisahkan dengan kata-kata : bekerja sebagai) Cth : King

3) 4) 5)

6) 7)

Practice makes habit!


8)

9)

10)

Menampilkan employee_id, last_name, salary dan salary dikalikan 20% dengan nama kolom Gaji Baru Apakah statement SELECT berikut ini dapat dijalankan dgn benar? SQL>SELECT last_name,job_id,salary as sal FROM EMPLOYEES; Jelaskan kesalahan2 pada statement SELECT berikut

SQL> SELECT empno, ename salary x 12 gaji setahun FROM EMP;

Next :

Pengumpulan Tugas Using Single Row Functions to Customize

Anda mungkin juga menyukai