Kamis, 05 Juli 2012

Cross Join, Natural / Inner Join, Outer Join

Cross Join
            Sebuah penggabungan yang meliputi lebih dari satu tabel tanpa syarta apapun. Hasil dari Cross Join akan menghasilkan produk Kartesian.

Natural / Inner Join
            Join yang menghasilkan baris – baris yang minimal ada sebuah baris di kedua tabel yang sesuai dengan kondisi join, baris – baris yang tidak sesuai dengan sebuah baris dari tabel lain.

Outer Join
            Outer join akan menghasilkan sebuah data dari sebuah tabel dan membatasi data dari tabel lainnya. Terdapat 3 tipe Outer join yaitu Left Join, Right Join, dan Full Join. Semua baris dari tabel sebelah kiri di acu dari sebuah Left Outer Join dan semua baris dari tabel sebelah kanan di acu dengan Right Outer Join dan semua baris dari kedua tabel dihasilkan oleh sebuah Full Outer Join.

            Kegunaan dari Outer join adalah untuk mencari record – record piatu, artinya record yang ada di sebuah tabel tetapi tidak mempunyai pasangan di tabel lain.

Berikut ini adalah contoh dalam program dari fungsi – fungsi di atas :
Program :
Create database Perpustakaan_saya
Use Perpustakaan_saya

Create table Penerbit (
Kd_Penerbit char (10) primary key,
Nama_Penerbit varchar (20))
select*from Penerbit

Insert into Penerbit values ('12001','Ganesha')
Insert into Penerbit values ('12002','Gramedia')


Kd_Penerbit
Nama_Penerbit
1
12001
Ganesha
2
12002
Gramedia

Create table Buku (
Kd_Buku char (10) primary key,
Judul varchar (20),
Pengarang varchar (20),
Kd_Penerbit char (10) references Penerbit (Kd_Penerbit))
select*from buku

Insert into buku values ('B0001','DOS','M.Urip','12001')
Insert into buku values ('B0002','Fisika','Sutrisno','12002') 





Kd_Buku
Judul
Pengarang
Kd_Penerbit
1
B0001
DOS
M.Urip
12001
2
B0002
Fisika
Sutrisno
12002

1.      Cross Join Antara Tabel Buku dan Penerbit
Contoh :
             Select*from Buku cross join Penerbit

Tabel :


Kd_Buku
Judul
Pengarang
Kd_Penerbit
Kd_Penerbit
Nama_Penerbit
1
B0001
DOS
M.Urip
12001
12001
Ganesha
2
B0002
Fisika
Sutrisno
12002
12001
Ganesha
3
B0001
DOS
M.Urip
12001
12002
Gramedia
4
B0002
Fisika
Sutrisno
12002
12002
Gramedia

Tabel Buku mempunyai 2 baris dan tabel Penerbit 2 baris maka hasil cross join adalah 4 baris.

2.      Natural Join / Inner Join
Contoh :
             Select b.Judul,b.Pengarang,p.Kd_Penerbit from Buku b.Inner Join Penerbit
             p.On,b.Kd_Penerbit=p.Kd_Penerbit

Perintah di atas akan membatasi kolom data yang tertumpuk. Perintah di atas dapat di ganti dengan memakai Inner Join style baru yang memakai kondisi Where.
Contoh :
             Select b.Judul,b.Pengarang,p.Kd_Penerbit from Buku b.Penerbit p.Where
             b.Kd_Penerbit=p.Kd_Penerbit

3.      Left Outer Join
Contoh :
             Select b.Judul,b.Pengarang,p.Kd_Penerbit from Buku b.Left Outer Join
             Penerbit p.ON b.Kd_Penerbit=p.Kd_Penerbit

4.      Right Outer Join
Contoh :
             Select b.Judul,b.Pengarang,p.Kd_Penerbit from Buku b.Right Outer Join
             Penerbit p.ON b.Kd_Penerbit=p.Kd_Penerbit

5.      Full Outer Join
Contoh :
             Select b.Judul,b.Pengarang,p.Kd_Penerbit from Buku b.Full Outer Join
             Penerbit p.ON b.Kd_Penerbit=p.Kd_Penerbit

Selasa, 26 Juni 2012

Fungsi String

     SQL juga menyediakan fungsi string yang digunakan untuk memanipulasi atau mengkonversi string sesuai dengan yang diinginkan. Tabel berikut ini berisi fungsi-fungsi yang sering digunakan.

F U N G S I
P E N J E L A S A N
Ekspres + Ekspresi
[ + Ekspresi ]
Menghubungkan dua atau lebih karakter atau string biner.
ASCII (Ekspresi)
Menghasilkan nilai SCIIdariekspresi karakter.
Char (Ekspresi_Integer)
Menghasilkan karakteryang sesuai nilai kode ASCII.
CharIndex (Bentuk, Ekspresi)
Menghasilkan posisi awal dari bentuk yang di hasilkan.
Difference (Ekspresi_Karakter)
Membandingkan dua string dan menguji kessamaan diantara keduanya pada skala satu sampai empat, dimana empat ialah pencocokan yang terbaik.
Lower (Ekspresi_Karakter)
Mengubah ekspresi karakter ke huruf kecil.
LTRIM (Ekspresi_Karakter)
Menghasilkan data tanpa didahului spasi kosong.
Patindex (“%Pattern%”,Ekspresi)
Menghasilkan posisi awal dari accurence pertama dari bentuk ke ekspresi yang di tentukan.
Replicate (Ekspresi_Karakter, Ekspresi_Integer)
Mengulang karakter sesuai dengan jumlah perkalian.
Reverse (Ekspresi_Karakter)
Menghasilkan karakter dalam bentuk terbaik.
Right (Ekspresi_Karakter, Ekspresi_Integer)
Menghasilkan bagian dari karakter dari kanan.
Substring (Ekspresi, Mulai, Panjang)
Mengambil bagian string.
Upper (Ekspresi_Karakter)
Mengubah ekspresi karakter kehuruf besar.
Soundex (Ekspresi_Karakter)
Menghasilkan kode empat digit untuk menguji kesamaan


Mari kita lihat contoh dari fungsi - fungsi di atas dalam program SQL:

create database Perpustakaan_ATB
use perpustakaan_ATB

Create table Buku (
KdBuku char (5) primary key,
Judul varchar (20),
Stok numerik (10),
Pengarang varchar (20),
Penerbit varchar (20))
select*from Buku
  
Insert into Buku values ('B01','Borland Delphi','5','Budi Santoso','Andi')
Insert into Buku values ('B02','SQL Server 2000','10','Frans Richard','Erlangga')
Insert into Buku values ('B03','Visual Basic 6','13','Hafsah','Gramedia')
Insert into Buku values ('B04','java to Mobile','7','Heri Santoso','Gramedia')

Tabel :


KdBuku
Judul
Stok
Pengarang
Penerbit
1
B01
Borland Delphi
5
Budi Santoso
Andi
2
B02
SQL Server 2000
10
Frans Ricard
Erlangga
3
B03
Visual Basic 6
13
Hafsah
Gramedia
4
B04
Java to Mobile
7
Heri Santoso
Gramedia


Select Substring (‘Interaktif’,1,5) : Mengambil bagian string dimulai dari huruf pertama sebanyak 5 huruf.
Tabel :



(No Column Name)
1
Inter
Select Substring (‘Interaktif’,6,5) : Mengambil bagian string dimulai dari huruf ke enam sebanyak 5 huruf.
Tabel :




(No Column Name)
1
aktif
Select LTRIM (‘  Hai’) : Menghasilkan data tanpa di dahului spasi yang kosong terlebih dahulu.
Tabel :



(No Column Name)
1
Hai
Select ‘Selamat’+’Belajar’ : Menghubungkan dua karakter atau lebih karakter atau string biner.
Tabel :

 

(No Column Name)
1
SelamatBelajar
Select Lower (‘HALLO’) : Mengubah ekspresi karakter ke huruf kecil.
Tabel :



(No Column Name)
1
hallo
Select Upper (‘Praktikum’) : Mengubah ekspresi karakter ke huruf besar.
Tabel :



(No Column Name)
1
PRAKTIKUM












Rabu, 20 Juni 2012

Fungsi Agregat & Fungsi Numerik

FUNGSI AGREGAT

Adalah fungsi yang bekerja terhadap suatu grup, dimana fungsi - fungsi tersebut terdiri dari :
  • Count : Untuk menghitung cacah record / baris dari suatu
            tabel.
  • Sum   : Untuk menghitung jumlah dari sekumpulan kolom dari
            suatu tabel.
  • Avg   : Untuk mendapatkan nilai rata - rata, nilai kolom
            tertentu pada suatu tabel.
  • Max   : Untuk mendapatkan nilai terbesar dari sekumpulan
            nilai dari kolom suatu tabel.
  • Min   : Untuk mendapatkan nilai terkecil dari sekumpulan
            nilai kolom.

FUNGSI NUMERIK

SQL server mempunyai format standart dalam penggunaan operasi aritmatik. Tabel berikut ini adalah fungsi - fungsi numerik (fungsi matematika dan trigonometri)yang sering dipakai disertai penjelasan kegunaannya.


F U N G S I
P E N J E L A S A N
ABS (Ekspresi_Numerik)
Menghasilkan nilai absolute dari ekspresi numeric
Celling (Ekspresi_Numerik)
Menghasilkan integer terkecil yangn lebih besar atau sama dengan nilai yang di tentukan
EXP (Ekspresi_Numerik)
Menghasilkan nilai eksponensial dari nilai yang ditentukan
FLOOR (Ekspresi_Numerik)
Menghasilkan integer terbesar yang lebih besar dari atau sama dengan nilai yang di tentukan
PI (Ekspresi_Numerik)
Menghasilkan nilai konstansa 3.1415
Power (Ekspresi_Numerik, pangkat)
Menghasilkan nilai ekspresi numeric ke pangkat
Rand (Ekspresi_Integer)
Menghasilkan jaringan random bertipe data float antara 0 dan 1 dengan pilihan menggunakan ekspresi integer
Round (Ekspresi_Numerik)
Menghasilkan nilai numeric ke nilai presisi sesuai dengan ekspresi integer yang di tentukan
Sign (Ekspresi_Integer)
Menghasilkan nilai positif (+1), zero (0) atau negative (-1)
ACOS (Ekspresi_Float)
ASIN (Ekspresi_Float)
ATAN (Ekspresi_Float)
Menghasilkan dalam radian dimana COS, SIN, dan TAN bernilai float
COS (Ekspresi_Float)
SIN (Ekspresi_Float)
TAN (Ekspresi_Float)
Menghasilkan niali sudut COS, SIN, dan TAN atau contingen dalam radian
Degres (Ekspresi_Numerik)
Mengubah sudut dari radian ke derajat
LOG10 (Ekspresi_Numerik)
Menghasilkan logaritma base 10 dengan nilai yang mendekati
Radians (Ekspresi_Numerik)
Mengubah sudut dari derajat ke radians
 









Contoh :


Create database Perpustakaan_ATB
Use perpustakaan_ATB

Create table Buku (
KdBuku char (5) primary key,
Judul varchar (20),
Stok numerik (10),
Pengarang varchar (20),
Penerbit varchar (20))
select*from Buku

Insert into Buku values ('B01','Borland Delphi','5','Budi Santoso','Andi')
Insert into Buku values ('B02','SQL Server 2000','10','Frans Richard','Erlangga')
Insert into Buku values ('B03','Visual Basic 6','13','Hafsah','Gramedia')
Insert into Buku values ('B04','java to Mobile','7','Heri Santoso','Gramedia')

Maka akan muncul tabel seperti berikut :


KdBuku
Judul
Stok
Pengarang
Penerbit
B01
Borland Delphi
5
Budi Santoso
Andi
B02
SQL Server 2000
10
Frans Richard
Erlangga
B03
Visual Basic
13
Hafsah
Gramedia
B04
Java to Mobile
7
Heri Santoso
Gramedi
 
Maka lakukanlah perintah - perintah di bawah ini :


Select count (*) from Buku
Tabel :



(no column name)
1
4

Select sum (stok) from Buku : untuk mengetahui total keseluruhan stok.
Tabel :



(no column name)
1
35

Select avg (stok) from Buku : untuk mengetahui rata - rata stok.
Tabel :



(no column name)
1
8.750000

Select max (stok) from Buku : untuk mengetahui jumlah stok yang paling banyak.
Tabel :



(no column name)
1
13

Select min (stok) from Buku : untuk mengetahui jumlah stok yang paling kecil.
Tabel :



(no column name)
1
5

Select abs (-10) : Digunakan untuk memberikan nilai mutlak (Absolut) positif dari nilai numeric (angka) yang ditempatkan pada ekspresi numeric.
Tabel :



(no column name)
1
10

Select celling (3.87):Digunakan untuk memberikan nilai mutlak (Absolut) positif dari nilai numeric (angka) yang ditempatkan pada ekspresi numeric.
Tabel :



(no column name)
1
4

Select floor 3.247):Digunakan untuk membulatkan kebawah dari nilai decimal yang ditempatkan pada ekspresi numeric.
Tabel :



(no column name)
1
3

Select Round (4.8731,0):Digunakan untuk membulatkan suatu nilai decimal sesuai dengan ekspresi nilai yang diberikan dan 0 digit di belakang koma.
Tabel :



(no column name)
1
5.0000

Select Round (4.8731,2) : Digunakan untuk membulatkan suatu nilai decimal sesuai dengan ekspresi nilai yang diberikan dan 2 digit di belakang koma.
Tabel :



(no column name)
1
4.8700

Select Round (4.8731,3): Digunakan untuk membulatkan suatu nilai decimal sesuai dengan ekspresi nilai yang diberikan dan 3 digit di belakang koma.
Tabel :



(no column name)
1
4.8730

Select Round (4.8731,4) : Digunakan untuk membulatkan suatu nilai decimal sesuai dengan ekspresi nilai yang diberikan dan 4 digit di belakang koma.
Tabel :



(no column name)
1
4.8731

Select SQRT (125) : Digunakan untuk menghasilkan nilai akar kuadrat suatu bilangan atau field yang bertipe data numeric.
Tabel :



(no column name)
1
 11.180339887498949