TUGAS INHAL PRE_TEST
STMIK AKAKOM YOGYAKARTA
ANUNG KURNIAWAN
105610103
MODUL 2
STMIK AKAKOM YOGYAKARTA
ANUNG KURNIAWAN
105610103
MODUL 2
FUNGSI BARIS TUNGGAL
SQL FUNCTIONS
Dua macam SQL
Functions :
Single row
functions
-Memanipulasi
data item
-Dapat
memodifikasi tipe data
-Dapat berbentuk
tersarang.
Multiple row
functions
Syntax :
Function_name
(column | ekpresi, [arg1, arg2, …])
Fungsi Karakter
Single-row character functions menerima data karakter sebagai masukan
dan dapat menghasilkan nilai karakter dan bilangan.
Fungsi karakter dapat dibagi menjadi :
Case conversion functions
Character manipulation functions
Fungsi Mengubah Bentuk Huruf
LOWER : digunakan untuk mengubah untai karakter huruf menjadi huruf
kecil.
INITCAP : digunakan untuk merubah huruf pertama dari setiap kata menjadi
huruf besar dan sisanya huruf kecil.
UPPER : digunakan untuk mengubah untai karakter huruf menjadi huruf
besar.
Fungsi Manipulasi Karakter
CONCAT : digunakan untuk menggabungkan nilai.
SUBSTR : digunakan untuk mengambil string yang panjangnya ditentukan.
LENGTH : digunakan untuk menunjukkan panjang dari string dengan angka
Fungsi Manipulasi Karakter
INSTR : digunakan untuk menemukan posisi numerik dari karakter yang
disebutkan.
LPAD : digunakan untuk mengisi nilai karakter rata kiri.
TRIM : digunakan untuk memotong bagian atas atau menarik karakter dari
untai
karakter.
Fungsi Number
ROUND : untuk menerima masukkan numerik dan menghasilkan nilai numerik.
TRUNC : untuk membulatkan kolom, ekspresi atau nilai ke n desimal.
MOD : untuk menemukan sisa nilai1 dibagi nilai2.
Bekerja Dengan Date
SYSDATE : fungsi tanggal yang menghasilkan tanggal dan waktu sekarang.
DUAL : tabel
dummy yang digunakan untuk melihat sysdate.
Fungsi Date
MONTHS_BETWEEN(date1,
date2)
ADD_MONTHS (date,
n)
NEXT_DAY (date,
‘char’)
LAST_DAY (date)
ROUND
(date[,’fmt’])
TRUNC
(date[,’fmt’])
MODUL – 3
QUERY BANYAK TABEL
Perintah dasar SELECT
SELECT * | {[DISTINCT] kolom |
ekspresi [alias], … }
FROM nama_tabel;
perintah SELECT, gunakan tanda * untuk memilih
semua kolom yang
ada pada tabel. Perintah DISTINCT digunakan
untuk menghilangkan duplikasi pada hasil
·
Struktur Tabel
Untuk melihat struktur
tabel, dapat digunakan perintah SQL berikut:
DESC[RIBE]
nama_tabel;
Membatasi dan
Mengurutkan Data Salah satu cara untuk membatasi penampilan data adalah dengan
memberikan syarat/kondisi pada klausa WHERE.
Ada kalanya untuk mendapatkan
data tertentu dibutuhkan query yang mengakses lebih dari satu tabel. Ketikkan
kedua perintah berikut pada SQL Editor atau pada prompt SQL>
DESC employees;
DESC departments;
Seperti yang
telah dijelaskan pada
pembahasan sebelumnya, kedua
perintah tersebut
menunjukkan struktur tabel
employees dan departments Perhatikan struktur kedua tabel tersebut. Kolom employee_id dan department_id terdapat
pada
tabel
employees, dan ternyata kolom department_id juga terdapat pada tabel departments.
Agar supaya kedua tabel tersebut dapat menampilkan data dalam satu query, kedua
tabel tersebut harus dihubungkan.
·
Cartesian Product
Sebuah
Cartesian product tercipta
ketika kondisi join
tidak disebutkan atau
invalid. Untuk menghindari terjadinya
Cartesian product, selalu masukkan kondisi join yang valid di klausa WHERE.
SELECT
tabel1.kolom, tabel2.kolom
FROM tabel1,
tabel2
WHERE
tabel1.kolom1 = tabel2.kolom2;
Untuk menggabungkan
lebih dari dua tabel dibutuhkan kondisi sebanyak (n-1) dimana n adalah banyaknya
tabel yang akan dihubungkan. Jadi, untuk menghubungkan 3 buah tabel dibutuhkan
2 kondisi join, untuk
menggabungkan 4 tabel
dibutuhkan 3 kondisi
join, d
Selain equijoin,
Oracle juga memiliki non-equijoin. Kondisi non-equijoin mengandung sesuatu. selain
operator sama dengan (=) seperti operator <, >, atau juga BETWEEN. Perhatikan praktik nomor 6.
Bentuk join
yang lain adalah
Outer Join.
Outer join pada
umumnya digunakan untuk menampilkan yang tidak memiliki hubungan
induk-anak pada tabel-tabel yang berhubungan. Sintaksnya sebagai
berikut.
SELECT
tabel1.kolom, tabel2.kolom
FROM tabel1,
tabel2
WHERE
tabel1.kolom(+) = tabel2.kolom;
SELECT
tabel1.kolom, tabel2.kolom
FROM tabel1,
tabel2
WHERE
tabel1.kolom = tabel2.kolom(+);
Sintak tabel1.kolom=tabel2.kolom(+) merupakan sintak outer join yang
ditempatkan di salahsatu sisi (bukan keduanya) pada klausa WHERE. Tanda (+)
diletakkan pada sisi yang tidak sempurna
(misalnya, terdapat nilai
null di dalamnya).
MODUL 4
AGREGASI DATA
Agregasi dalam SQL merupakan
proses untuk mendapatkan nilai dari sekumpulan data yang telah dikelompokkan. Pengelompokan data didasarkan pada kolom atau
kombinasi kolom yang dipilih.
Beberapa fungsi untuk agregasi
adalah:
- MAX : mencari data terbesar dari sekelompok data
- MIN : mencari data terkecil dari sekelompok data
- COUNT : mencari cacah data (data NULL tidak akan dimasukkan dalam perhitungan,kecuali disebutkan secara khusus)
- SUM : mencari jumlah dari sekumpulan data numeris
- AVG : mencari rerata dari sekumpulan data numeris
Sintaks SQL untuk melakukan
pengelompokan adalah:
SELECT [daftar-kolom-non-agregasi,] daftar-kolom-agregasi
FROM daftar-tabel
[WHERE kondisi-record-dalam-tabel]
[GROUP BY daftar-kolom-agregasi]
[HAVING kodisi-filter-hasil-agregasi]
[ORDER BY daftar-kolom-pengurutan]
SELECT [daftar-kolom-non-agregasi,] daftar-kolom-agregasi
FROM daftar-tabel
[WHERE kondisi-record-dalam-tabel]
[GROUP BY daftar-kolom-agregasi]
[HAVING kodisi-filter-hasil-agregasi]
[ORDER BY daftar-kolom-pengurutan]
MODUL – 5
SUBQUERY
Subquery
adalah perintah SELECT yang berada di dalam
perintah SQL lain. Subquery sangat berguna ketika kita ingin menampilkan data
dengan kondisi yang bergantung pada data di dalam table itu sendiri.
Sintaks
SELECT select_list FROM table WHERE expr
operator ( SELECT select_list FROM table );
Contoh:
Menampilkan data karyawan yang bekerja satu
departemen dengan Biri.
SELECT last_name, title FROM employee WHERE
dept_id = ( SELECT dept_id FROM employee WHERE UPPER(last_name) = ‘BIRI’ );
Single Row
Subquery
adalah menghasilkan satu baris data dari
perintah SELECT terdalam. Tipe subquery ini menggunakan single row operator.
Contoh:
Menampilkan data karyawan yang memiliki
jabatan sama dengan Smith.
SELECT last_name, title
FROM employee WHERE title = ( SELECT title FROM
employee WHERE last_name = ‘Smith’ );
Kita dapat menampilkan
data dari query utama dengan menggunakan fungsi grup
Contoh:
Menampilkan data
karyawan yang memiliki gaji dibawah rata-rata.
SELECT last_name, title, salary FROM employee WHERE
salary < ( SELECT AVG(salary) FROM employee );
Kesalahan
dalam Subquery
Kesalahan umum dalam subquery adalah lebih
dari satu baris data dihasilkan untuk single row subquery.
Contoh:
Subquery ini menghasilkan lebih dari satu
baris data dan menggunakan single row operator. Kita dapat membetulkan
kesalahan ini dengan mengubah = menjadi IN.
SELECT last_name, first_name, title FROM
employee WHERE dept_id = ( SELECT id FROM department WHERE name = ‘Finance’ OR
region_id = 2 );
Multiple
Rows Subquery
Subquery yang menghasilkan lebih dari satu
baris data disebut multiple row subquery. Pastikan penggunaan multiple row
operator, seperti IN.
Contoh:
Menampilkan data karyawan yang bekerja pada
departemen Finance atau pada region 2.
SELECT last_name, first_name, title FROM
employee WHERE dept_id IN ( SELECT id FROM department WHERE name = ‘Finance’ OR
region_id = 2 );
Klausa
HAVING
Kita dapat menggunakan subquery tidak hanya
dalam klausa WHERE, namun juga klausa HAVING.
Contoh:
Menampilkan data departemen yang memiliki
rata-rata gaji diatas rata-rata gaji departemen 32.
SELECT dept_id, AVG (salary) FROM employee GROUP
BY dept_id HAVING AVG(salary) > ( SELECT AVG(salary) FROM employee WHERE
dept_id = 32 );
Menampilkan
jabatan dengan rata-rata gaji terkecil.
SELECT title, AVG (salary) FROM employee GROUP
BY title HAVING AVG (salary) = ( SELECT MIN(AVG(salary)) FROM employee GROUP BY
title );
MODUL – 8
CONSTRAINTS
Constraints merupakan pembatasan pada suatu
table dan juga mencegah terjadinya penghapusan jika ada ketergantungannya
didalam tipe data constraints
dibawah ini:
o
Not null memetapkan
suatu kolom tidak boleh berisi null
o
Unique
mementapkan kolom yang bersangkutan memiliki nilai tunggal/tidak sama terhadap
baris lain
o
Primary key
identifikasi unik pada setiap baris table
o
Foreign
key menetapkan dan menguatkan suatu
hubungan kolom dgn satu kolom pada table referansi
o
Check
memberikan suatu kondisi yang bernilai benar pada table.
Sintak
untuk mendefinisikan constraint :
CREATE TABLE
[SCHEMA.] TABLE
(COLUMN
DATATYPE [DEFAULT EXPR]
[COLUMN_CONSTRAINT],
[TABLE_CONSTRAINT] [,…] );
