Kamis, 01 Februari 2018

PENGGUNAAN SUB QUERY PADA ORACLE 10G

Subquery adalah sebuah perintah atau query dalam query, lebih jelasnya perintah SELECT didalam perintah SELECT, lihat analogi disamping kiri!
Dimana query satu adalah sebuah query yang datanya akan bernilai sama dengan yang ada pada subquery.Sehingga bisa dikatakan query1 akan ditampilkan datanya diamana data tersebut merupakan hasil seleksi pada subquery.Adapun beberapa klausa yang digunakan dalam subquery ini adalah :
  • WHERE 
  • HAVING 
  • FROM 
Adapun type-type dari sub query adalah :
  • Single row yaitu return valuenya hanya satu misal : DIKDIK
Single row subquery memberikan hasil hanya satu baris pada bagian subquery.Untuk single row subquery ini yang digunakan adalah operator pembandingan : = , > , >= , < , <= , atau <>.Contoh :
select last_name, job_id from employees where job_id = (select job_id from employees where employee_id = 141);
51
Multiple row yaitu return valuenya lebih dari satu misal : DIKDIK, PRASTYO
  • Multiple Row Subquery adalah subquery yang menghasilkan lebih dari satu baris. Untuk multiple row subquery ini yang digunakan adalah operator pembandingan : IN, ANY atau ALL.Adapun penjelasan penggunaan dari klausa untuk multiple row adalah :
    •  IN adalah klausa yang menyatakan bahwa query 1 akan menghasilkan nilai yang sama dengan subquery.
select last_name, salary, department_id from employees where salary in(select min(salary) from employees group by department_id);
52
Query diatas akan menampilkan data last_name,salary,department_id from employees dengan salary berada pada gaji terkecil dari employees dengan pengelompokan data berdasar department_id maka yang akan ditampilkan adalah data yang memiliki salary terkecil dengan pengelompokan data berdasar department_id jika tidak dikelompokan maka hanya 1 data yang ditampilkan namun query tersebut error.dan permintaannya adalah harus memakai pengelompokan data.
Pada penggunaan ANY, sembarang operator relasional (seperti =, <>, dan >) bisa digunakan.
Contoh kondisi dalam WHERE pada pemakaian ANY
gaji > ANY(S)
Dalam hal ini operator relasional yang digunakan berupa “lebih dari” dan S adalah subquery. Andaikan subquery S menghasilkan G1, G2, . . . , Gn maka kondisi di atas identik dengan:
(gaji > G1) OR
(gaji > G2) OR
. . OR
(gaji > Gn)
Kondisi dengan ALL menghasilkan nilai benar jika pembandingan menghasilkan nilai benar untuk setiap nilai dalam subquery.
Contoh penggunaan ALL yaitu untuk memperoleh semua pegawai yang gajinya lebih rendah daripada semua pegawai di departemen Akunting.

Source : http://arifaiweb.blogspot.co.id/2017/12/penggunaan-sub-query.html?m=1
http://zepic123.blogspot.co.id/

FUNGSI JOIN SQL ORACLE 10G

Join adalah cara untuk menghubungkan data yang diambil dari tabel-tabel melalui sebuah kolom yang menghubungkan dua tabel tersebut. Keuntungannya adalah kita hanya perlu mengetikkan satu query saja. Pada Oracle ada beberapa fungsi Join diantaranya adalah :
– Natural Joins
– Using Clause
– On Clause
– Full ( two-sided) outer joins


Natural Joins
Natural Joins digunakan untuk menampilkan fungsi join secara natural. Ada beberapa ketentuannya yakni nama harus sama, value harus sama dan tipe data harus sama.
select department_id, department_name, location_id as Lokasi, city from departments natural join locations

Using Clause
Using Clause digunakan untuk memodifikasi fungsi natural join jika terdapat kolom yang memiliki nama yang sama tetapi memiliki tipe data yang berbeda.
select employees.employee_id, employees.last_name, departments.location_id,  department_id from employees join departments using (department_id)
On Clause
On Clause digunakan untuk menentukan kolom yang memiliki spesifikasi tertentu yang akan digunakan untuk fungsi join.
select e.last_name, e.salary, j.job_title from employees e join jobs j on e.salary between j.min_salary and j.max_salary
select employee_id, d.location_id,city, e.department_id, department_name from employees e join departments d on d.department_id=e.department_id
join locations l on d.location_id=l.location_id

Left Join
Left Join akan menampilkan seluruh baris dari tabel disebelah kiri yang ada pada kondisi ON dan hanya baris dari tabel disebelah kanan yang memenuhi kondisi join.
select e.last_name, e.department_id, d.department_name from employees e left outer join departments d on (e.department_id = d.department_id) where last_name=’Grant’;
Right Join
Right Join akan menampilkan seluruh baris dari tabel disebelah kanan yang ada pada kondisi ON dan hanya baris dari tabel disebelah kiri yang memenuhi kondisi join.
select e.last_name,e.department_id,d.department_name from employees e right outer join departments d on (e.department_id = d.department_id) where e.last_name is null;
Full Outer Join
Full Outer Join akan menampilkan seluruh baris dari kedua tabel yang dikenai ON termasuk data-data yang bernilai NULL.
select e.last_name, e.department_id, d.department_name from employees e full outer join departments d on (e.department_id = d.department_id) where e.last_name is null or e.department_id is null;
SOURCE: http://arifaiweb.blogspot.co.id/2017/12/fungsi-join-pada-sql-oracle.html?m=1

GROUP FUNCTION DAN TIPE-TIPENYA

Group function akan memproses banyak data dan memberikan satu hasil. Group function
sering juga disebut aggregate function.
Beberapa jenis group function:
AVG (x)
Digunakan untuk menghitung nilai rata-rata dari kelompok data x. Berikut ini perintah
untuk menghitung rata-rata harga jual barang.
gb1
COUNT
Digunakan untuk menghitung jumlah data dari kelompok data x. Berikut ini perintah
untuk menghitung jumlah barang yang ada.
count
MAX ( ) dan MIN ( )
MAX ( ) digunakan untuk mencari nilai paling tinggi dari kelompok data x.
MIN ( ) digunakan untuk mencari nilai yang paling rendah dari kelompok data x.
STDDEV( )
Digunakan untuk menghitung nilai standar deviasi dari kelompok data x. Standar
deviasi adalah fungsi statistik yang didefinisikan sebagai square root dari nilai
variance.
SUM ( )
Digunakan untuk menghitung jumlah total dari data yang ada di kelompok data x.
VARIANCE( )
VARIANCE( ) digunakan untuk menghitung nilai variance dari kelompok data x.
Variance merupakan fungsi statistik yang didefinisikan sebagai square of standart
deviasi.
Mengelompokkan data menggunakan GROUP BY
GROUP BY digunakan untuk mengelompokkan data berdasarkan suatu kriteria pada
perintah select.
Menyeleksi Hasil GROUP BY dengan HAVING
Pada single-row function klausa where digunakan untuk menyeleksi data berdasarkan
kriteria tertentu. Prinsip kerja klausa HAVING sama dengan klausa WHERE, tetapi
klausa HAVING digunakan untuk menyeleksi data hasil dari group function.
SOURCE: http://shareilmu2ilmu.blogspot.co.id/2012/12/single-row-function-group-function.html

OPERATOR LOGIKA AND, OR, NOT DAN KLAUSA ORDER BY

SQL Operator Logika
Ada tiga Operator Logika yaitu AND, OR, dan NOT. Operator ini membandingkan dua kondisi pada suatu waktu untuk menentukan apakah berturut-turut dapat dipilih untuk output. Ketika mengambil data menggunakan pernyataan SELECT, Anda dapat menggunakan operator logika dalam klausa WHERE, yang memungkinkan Anda untuk menggabungkan lebih dari satu kondisi.
“ATAU” Operator Logical:
Jika Anda ingin memilih baris yang memenuhi setidaknya satu dari kondisi yang diberikan, Anda dapat menggunakan operator logis, OR.
Sebagai contoh: jika Anda ingin mencari nama-nama siswa yang belajar baik Matematika atau Sains, query akan seperti,
SELECT first_name, last_name, subject FROM student_details WHERE subject = ‘Maths’ OR subject = ‘Science’
Outputnya akan menjadi sesuatu seperti,
first_name     last_name     subject
————-     ————-     ———-
Anajali     Bhagwat     Maths
Shekar     Gowda     Maths
Rahul     Sharma     Science
Stephen     Fleming     Science
Tabel berikut menggambarkan bagaimana logika “OR” operator memilih berturut-turut.
“DAN” Operator Logical:
Jika Anda ingin memilih baris yang harus memenuhi semua kondisi yang diberikan, Anda dapat menggunakan operator logis, DAN.
Untuk Contoh: Untuk menemukan nama-nama siswa antara usia 10 sampai 15 tahun, query akan seperti:
SELECT first_name, last_name, age FROM student_details WHERE age >= 10 AND age <= 15;
Outputnya akan menjadi sesuatu seperti,
first_name     last_name     age
————-     ————-     ——
Rahul            Sharma         10
Anajali          Bhagwat       12
Shekar          Gowda          15
Tabel berikut menggambarkan bagaimana logika “AND” operator memilih berturut-turut.
“TIDAK” Operator Logical:
Jika Anda ingin mencari baris yang tidak memenuhi kondisi, Anda dapat menggunakan operator logis, NOT. TIDAK menghasilkan kebalikan dari kondisi. Artinya, jika kondisi dipenuhi, maka baris tidak dikembalikan.
Sebagai contoh: Jika Anda ingin mengetahui nama-nama siswa yang tidak bermain sepak bola, query akan seperti:
SELECT first_name, last_name, games FROM student_details WHERE NOT games = ‘Football’
Outputnya akan menjadi sesuatu seperti,
first_name     last_name     games
—————-     —————-     ———–
Rahul     Sharma     Cricket
Stephen     Fleming     Cricket
Shekar     Gowda     Badminton
Priya     Chandra     Chess
Tabel berikut menjelaskan cara logis “TIDAK” operator memilih berturut-turut.
Bersarang Operator Logika:
Anda dapat menggunakan beberapa operator logika dalam pernyataan SQL. Ketika Anda menggabungkan operator logis dalam sebuah pernyataan SELECT, urutan pernyataan diproses adalah
1) NOT
2) DAN
3) OR
Sebagai contoh: Jika Anda ingin memilih nama-nama siswa yang berusia antara 10 dan 15 tahun, atau mereka yang tidak bermain sepak bola,
SELECT statement would be SELECT first_name, last_name, age, games FROM student_details WHERE age >= 10 AND age <= 15 OR NOT games = ‘Football’
Outputnya akan menjadi sesuatu seperti,
first_name     last_name     age     games
————-     ————-     ——–     ————
Rahul     Sharma     10     Cricket
Priya     Chandra     15     Chess
Dalam hal ini, filter bekerja sebagai berikut:
Kondisi 1: Semua siswa Anda tidak bermain sepakbola yang dipilih.
Kondisi 2: Semua siswa yang berusia antara 10 dan 15 yang dipilih.
Kondisi 3: Akhirnya hasilnya adalah, baris yang memenuhi minimal salah satu dari persyaratan tersebut di atas kembali.
SQL ORDER BY
ORDER BY klausa digunakan dalam sebuah pernyataan SELECT untuk mengurutkan hasil baik dalam menaik atau menurun. Oracle macam hasil query dalam urutan secara default.
Sintaks untuk menggunakan SQL ORDER BY klausa untuk mengurutkan data adalah:
SELECT column-list FROM table_name [WHERE condition] [ORDER BY column1 [, column2, .. columnN] [DESC]];

Tabel [karyawan]:
idnamedeptagesalarylocation
100RameshElectrical2425000Bangalore
101HrithikElectronics2835000Bangalore
102HarshaAeronautics2835000Mysore
103SoumyaElectronics2220000Bangalore
104PriyaInfoTech2530000Mangalore
Untuk Contoh: Jika Anda ingin mengurutkan tabel karyawan dengan gaji karyawan, query sql akan.
SELECT name, salary FROM employee ORDER BY salary;
Outputnya akan seperti
name     salary
———-     ———-
Soumya     20000
Ramesh     25000
Priya        30000
Hrithik     35000
Harsha     35000
Permintaan pertama macam hasil sesuai dengan nama dan kemudian menampilkannya.
Anda juga dapat menggunakan lebih dari satu kolom pada klausa ORDER BY.
Jika Anda ingin mengurutkan tabel karyawan dengan nama dan gaji, query akan seperti,
SELECT name, salary FROM employee ORDER BY name, salary;
Outputnya akan seperti:
name     salary
————-     ————-
Soumya     20000
Ramesh     25000
Priya        30000
Harsha     35000
Hrithik     35000
CATATAN:Kolom ditentukan dalam klausa ORDER BY harus menjadi salah satu kolom yang dipilih dalam daftar kolom SELECT.
Anda dapat mewakili kolom dalam klausa ORDER BY dengan menentukan posisi kolom dalam daftar SELECT, alih-alih menulis nama kolom.
Pertanyaan di atas juga dapat ditulis sebagai diberikan di bawah,
SELECT name, salary FROM employee ORDER BY 1, 2;
Secara default, ORDER BY Clause macam data dalam urutan menaik. Jika Anda ingin mengurutkan data dalam urutan, Anda harus secara eksplisit menentukan itu seperti yang ditunjukkan di bawah ini.
SELECT name, salary FROM employee ORDER BY name, salary DESC;
Pertanyaan di atas macam hanya kolom ‘gaji’ dalam urutan dan kolom ‘nama’ by order ascending.
Jika Anda ingin memilih kedua nama dan gaji dalam urutan, query akan seperti yang diberikan di bawah ini.
SELECT name, salary FROM employee ORDER BY name DESC, salary DESC;
Cara menggunakan ekspresi dalam ORDER BY Clause?
Ekspresi dalam ORDER BY klausa dari pernyataan SELECT.
Sebagai contoh: Jika Anda ingin menampilkan nama karyawan, gaji saat ini, dan peningkatan 20% pada gaji hanya para karyawan untuk siapa persentase kenaikan gaji lebih besar dari 30000 dan dalam urutan kenaikan harga, pernyataan SELECT dapat ditulis sebagai ditunjukkan di bawah ini
SELECT name, salary, salary*1.2 AS new_salary FROM employee WHERE salary*1.2 > 30000 ORDER BY new_salary DESC;
Output untuk pertanyaan di atas adalah sebagai berikut.
name           salary           new_salary
———-     ———-     ————-
Hrithik     35000     37000
Harsha     35000     37000
Priya        30000     36000

Source : http://9webstyle.blogspot.co.id/2014/10/sql-order-by.html
http://9webstyle.blogspot.co.id/2014/10/sql-operator-logika.html

SETTING BIND9

  1.  Konfigurasi IP seperti pada gambar
1

2. Cek IP apakah sudah berubah atw belum
2

3. Masuk Ke directory bind buka file name.conf.local dengan nano
3
4. isikan seperti gambar
4
5. kopi file db.local ke db.uts.com
bind

6. Kopi file db.127 ke db.192
6
7. buka file db.uts.com dengan nano
7
8. buka file db.192 dengan nano
8

9. Lakukan restart pada bind lihat gambar
Note : apabila terjadi FAIL tidak OK cek ulang file named.conf.local
9
10. memastikan bind berhasil atau tidak lakukan DIG lihat pada gambar
NOTE : apabila ada tulisan FAIL dan bukan OK coba cek pada file name.conf.local kemungkinan anda typo 
10
12. Setelah ke layar utama klik kanan pada pojok bawah kanan ->klik open network -> change adapter -> klik kanan virtual box only-adapter propertis -> klik kanan pada ipv4  -> kasih IP 192.168.56.1 subnet 255.255.255.0 dan DNS 192.168.56.2
11

FUNGSI SINGLE ROW FUNCTION PADA ORACLE 10G

Fungsi adalah sebuah feature dari SQL, yang digunakan untuk:
• Melakukan perhitungan
• Mengubah data item
• Memanipulasi hasil untuk sekelompok baris
• Memformat tampilan angka dan tanggal
• Mengubah tipe data dari suatu kolom

Fungsi SQL terdiri dari 2 macam yaitu :
1. single-row functions : hanya pada satu baris dan menghasilkan satu nilai untuk setiap baris. 
2. multiple-row functions : digunakan untuk memanipulasi sekumpulan baris dan menghasilkan suatu nilai, functions ini jugadikenal dengan Group Functions
 
Single-Row Functions
 
Digunakan untuk memanipulasi data item. Menerima satu argument atau lebih dan menghasilkan satu nilai untuk setiap baris yang ditampilkan. 
Agument untuk single-row functions bisa berupa:
• Konstanta
• Variable
• Nama kolom
• Ekspresi
 
Features dari single-row functions adalah:
• Bekerja pada setiap baris yang dihasilkan oleh query
• Dapat menerima satu argument atau lebih
• Dapat digunakan pada SELECT, WHERE, dan ORDER BY, serta dapat dinested.
 
single-row functions terdiri dari 5 jenis, yaitu :
A. Fungsi Character
Fungsi karakter menerima input berupa karakter dan mengembalikan nilai yang bisa berupa karakter maupun angka. Fungsi karakter dibagi menjadi 2 kelompok yaitu Casemanipulation functions dan Character-manipulation functions. Case-manipulation Functions berguna untuk mengubah karakter dari huruf kecil ke huruf besar atau sebaliknya.Character-manipulation Functions dgunakan untuk memanipulasi karakter, missal menggabungkan karakter, mengambil sebagian karakter dari sebuah kalimat, serta mengetahui panjang dari sebuah kalimat.
 
B. Fungsi Number 
Fungsi angka digunakan untuk memanipulasi suatu angka, berikut daftar fungsi angka:
 
– ROUND (column | expression, n )
Kegunaan:Membulatkan suatu nilai sampai decimal. 
 
– TRUNC (column | expression, n )
Kegunaan:Memotong suatu nilai sampai n decimal. 
 
– MOD (m, n )
Kegunaan:Mencari nilai sisa dari m dibagi n.
 
Contoh:
Select round(45,5), round(45), round(45,9)*from dual
 
C. Fungsi Date
Oracle database menyimpan tanggal dalam format angka yang terdiri dari: abad, tahun, bulan, tanggal, 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 mengguanakan format DD-MON-RR.
Fungsi : 
– SYSDATE. 
– SYSDATE
– MONTHS_BETWEEN
 
E. Fungsi General
Fungsi ini terdiri 2 macam, yaitu fungsi yang digunakan untuk menangani nilai NULL dan fungsi yang merupakan ekspresi kondisi. Berikut adalah daftar dari general functions yang digunakan untuk menangani nilai NULL.
 
Fungsi :
– NVL ( expr1, expr2 ) Mengubah nilai NULL menjadi suatu nilai tertentu.
– NULL. Jika expr1 < > expr2, maka expr1 yang ditampilkan.
– COALESCE (expr1, expr2,…,exprn) Menampilkan ekspresi pertama yang tidak bernilai NULL.