Click Here to Search This Site

Kamis, 05 Juli 2012

Dasar- Dasar SQL dengan Access (Aritmatika: JOIN 3 Buah Tabel)


4.4    JOIN 3 Buah Tabel

Tampilkan lengkap nama instruktur serta nama materi kursus yang diajarkan instruktur tersebut.
Query membutuhkan 3 buah tabel, yaitu tabel sesi untuk melihat daftar instruktur dan materi yangn diajarkan, tabel instruktur untuk mengetahui nam instruktur dan tabel kursus untuk mengetahui nama kursus.
select namainstruktur,namakursus
from sesi S,Instrujtur I, kursus K
where S.inisial = I.inisial AND
   S. kodekursus = K.kodekursus
   order by namainstruktur

Nama             NAMAKURSUS
----------------------------------------------------
BILL GATES       INTERNET FULL PACKAGE
BILL GATES       ORACLE FUNDAMENTAL
BILL GATES       ORACLE FUNDAMENTAL
BILL GATES       VISUAL BASIC 6
HARTINI TITO     UNIX FULL PACKAGE
HARTINI TITO     DELPHI 4.0
MONIKA LOPA      IBM DB/2 FUNDAMENTAL
MONIKA LOPA      VISUAL C++6.0
ROMI MAMORA      INTERNET FULL PACKAGE
YUNI SARA        UNIX FULL PACKAGE
YUNI SARA        IBM DB/2 FUNDAMENTAL

Untuk menghindari pengulangan "baris" yang sama, maka diperlukan kunci kata "DISTINCT"
select DISTINCT namainstruktur,namakursus
from sesi S,Instrujtur I, kursus K
where S.inisial = I.inisial AND
   S. kodekursus = K.kodekursus
   order by namainstruktur

Nama                          NAMAKURSUS
----------------------------------------------------
BILL GATES                    INTERNET FULL PACKAGE
BILL GATES                    ORACLE FUNDAMENTAL
BILL GATES                    VISUAL BASIC 6
HARTINI TITO                  UNIX FULL PACKAGE
HARTINI TITO                  DELPHI 4.0
MONIKA LOPA                   IBM DB/2 FUNDAMENTAL
MONIKA LOPA                   VISUAL C++6.0
ROMI MAMORA                   INTERNET FULL PACKAGE
YUNI SARA                     UNIX FULL PACKAGE
YUNI SARA                     IBM DB/2 FUNDAMENTAL

Rabu, 04 Juli 2012

Dasar- Dasar SQL dengan Access : Menggunakan Alias


4.3 Menggunakan Alias

Alias digunakan untuk menyederhanakan penulisan, agar tidak terlalu panjang.
select nama, nilai
   from pendaftar, peserta
   where pendaftar.nopeserta = peserta.nopeserta
                                                         
Penulisan dapat disederhanakan menjadi:
select nama, nilai
from pendaftar P, peserta S
where P.nopeserta = S.nopeserta

Dasar- Dasar SQL dengan Access (Aritmatika: JOIN)


4.3    Menggunakan Alias

Alias digunakan untuk menyederhanakan penulisan, agar tidak terlalu panjang.
select nama, nilai
   from pendaftar, peserta
   where pendaftar.nopeserta = peserta.nopeserta
                                                         Penulisan dapat disederhanakan menjadi:
select nama, nilai
from pendaftar P, peserta S
where P.nopeserta = S.nopeserta

Senin, 02 Juli 2012

Dasar- Dasar SQL dengan Access (Aritmatika: JOIN)


4.2    JOIN

Join adalah teknik yang digunakan untuk mengakses lebih dari satu tabel dan menggabungkan hasilnya.
Perhatikan tabel sesi di bawah ini:
select * from sesi

KOD     NOSESI   IN      JUMLAHPESERTA
-----------------------------------
ORA        1     BG
ORA        2     BG
DB2        1     YS
DB2        2     ML
UXF        1     YS
UXF        2     HT
INP        1     BG
INP        2     RM
DEL        1     HT
VB6        1     BG
VC6        1     ML
                                                         
Selanjutnya bagaimana dapat ditampilkan nama instruktur untuk setiap inisial yang ada ?  Karena nama instruktur ada pada tabel instruktur, maka query berikut menampilkan nama instruktur tersebut.
select kodekursus, nosesi, instruktur.namainstruktur from sesi, instruktur

Perhatikan bahwa nama kolom dapar diberikan dalam format '<NamaTabel><NamaKolom>'.
Instruktur.inisial
Instruktur.namainstruktur
Sesi.kodekursus
Sesi.nosesi
Hasil query diatas bukan seperti yang dikehendaki, karena itu diperlukan teknik untuk menggabungkan tabel tersebut dengan WHERE
select kodekursus, nosesi, instruktur.namainstruktur
   from sesi,instruktur
   where sesi.inisial = instruktur.inisial

KOD    NOSESI  NAMA  
-----------------------------------
ORA       1    BILL GATES
ORA       2    BILL GATES
DB2       1    YUNI SARA
DB2       2    MONIKA LOPA
UXF       1    YUNI SARA
UXF       2    HARTINI TITO
INP       1    BILL GATES
INP       2    ROMI MAMORA
DEL       1    HARTINI TITO
VB6       1    BILL GATES
VC6       1    MONIKA LOPA

Minggu, 01 Juli 2012

Dasar- Dasar SQL dengan Access (Aritmatika:Fungsi Kelompok Nilai (GROUP BY... HAVING))


4.1.6  GROUP BY ... HAVING

HAVING berlaku untuk kelompok query group by dan befungsi seperti WHERE.
Hanya group yang mempunyai kriteria tersebut yang akan diproses (pada WHERE yang diproses adalah setiap record dalam tabel)
Berikut adalah daftar peserta yang mempunyai nilai rata – rata diatas 80
select nopeserta AVG (nilai)
   from pendaftar
   group by nopeserta
   HAVING AVG(nilai) > 80

NOPESERTA     AVG (NILAI)
-------------------------
85
88

Sabtu, 30 Juni 2012

Dasar- Dasar SQL dengan Access (Aritmatika:Fungsi Kelompok Nilai (GROUP BY))


4.1.5  GROUP BY

Group By menyeleksi himpunan yang dihitung berdasarkan fungsi spesifik seperti AVG, COUNT atau lainnya.
Contoh:
Untuk setiap peserta, berapa banyak kursus yang diikuti peserta tersebut ?
Untuk menghitungnya dari tabel pendaftar, maka diurut dari no peserta, kemudian dihitung untuk setiap no peserta, dibuat akumulator dan ditambahkan untuk setiap no peserta tersebut.
Group By menyederhanakan perhituangan sebagai berikut:
Select nopeserta, COUNT (*)
   from pendaftar
   group by nopeserta

NOPESERTA        COUNT (*)
-------------------------
3
3
2
3
4
3
3