Ainy Account
Selasa, 02 Oktober 2012
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')
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
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')
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
|
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.
Contoh :
Maka akan muncul tabel seperti berikut :
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 Round (4.8731,2) : Digunakan untuk membulatkan suatu nilai decimal sesuai dengan ekspresi nilai yang diberikan dan 2 digit di belakang koma.
Tabel :
Select Round (4.8731,3): Digunakan untuk membulatkan suatu nilai decimal sesuai dengan ekspresi nilai yang diberikan dan 3 digit di belakang koma.
Tabel :
Select Round (4.8731,4) : Digunakan untuk membulatkan suatu nilai decimal sesuai dengan ekspresi nilai yang diberikan dan 4 digit di belakang koma.
Tabel :
Select count (*) from Buku
Tabel :
Tabel :
(no column name)
|
|
1
|
4
|
Select sum (stok) from Buku : untuk mengetahui total keseluruhan stok.
Tabel :
Tabel :
(no column name)
|
|
1
|
35
|
Select avg (stok) from Buku : untuk mengetahui rata - rata stok.
Tabel :
Tabel :
(no column name)
|
|
1
|
8.750000
|
Select max (stok) from Buku : untuk mengetahui jumlah stok yang paling banyak.
Tabel :
Tabel :
(no column name)
|
|
1
|
13
|
Select min (stok) from Buku : untuk mengetahui jumlah stok yang paling kecil.
Tabel :
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
|
Langganan:
Postingan (Atom)