Introduction to access 2003 sql
This presentation is the property of its rightful owner.
Sponsored Links
1 / 93

Introduction to Access 2003 SQL PowerPoint PPT Presentation


  • 76 Views
  • Uploaded on
  • Presentation posted in: General

Introduction to Access 2003 SQL. Oleh EruP 2007 PENS. Perjanjian. ACCESS tidak membedakan huruf besar atau kecil (case insensitive) Semua sama : SELECT, select, Select Termasuk Nama Object : SISWA, siswa, Siswa dianggap sama kecuali

Download Presentation

Introduction to Access 2003 SQL

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Introduction to access 2003 sql

Introduction to Access 2003SQL

Oleh EruP

2007

PENS


Perjanjian

Perjanjian

  • ACCESS tidak membedakan huruf besar atau kecil (case insensitive)

    • Semua sama : SELECT, select, Select

    • Termasuk Nama Object : SISWA, siswa, Siswa dianggap sama

    • kecuali

      • LITERAL menggunakan tanda “…”, tergantung penulisan: “Ini”, “INI”,”ini” dianggap berbeda


Perjanjian1

Perjanjian

  • String adalah sesuatu yang berada dalam/diapit tanda petik ganda atau tunggal

  • Nama obyek tidak boleh mengandung spasi

    • Jika terpaksa menggunakan spasi, maka dapat menggunakan tanda kurung persegi [ ... ]

    • Contoh : [Nama Depan], [Dosen Pembimbing]

  • Dalam contoh program, key word (ditulis sesuai dengan yang tertulis) dicetak dalam huruf besar (boleh ditulis huruf kecil)

    • Contoh : SELECT kolom FROM tabel WHERE a=b


Perjanjian2

Perjanjian

  • String, bilangan dapat digabung dengan tanda gabung ampersand (&)

    • “Nama : “ & nama & “ umur “ & umur

  • Setiap perintah SQL harus diakhiri dengan tanda titik koma (;)

    • Kecuali yang dituliskan sebagai string parameter pada suatu bahasa pemrograman tertentu, tidak diperlukan tanda titik koma

    • ACCESS 2003 juga tidak memerlukan tanda titik koma


Tabel database

Tabel - Database

  • Pada percobaan-percobaan berikut akan menggunakan DBMS ACCESS 2003

  • Nama Database Siswa.mdb

  • Nama-nama Tabel

    • Siswa  Data Master

    • Dosen  Data Master

    • TA  Data Transaksi

    • Jurusan  Data Master

    • Dual  Dummy Table


Konsep erd

Konsep: ERD

Sekjur

1

1

Jurusan

Kode

1

Kajur

1

Jurusan

1

1

Jurusan

Siswa

Jurusan

Dosen

NIP

Nama

N

Nama

Alamat

N

Perwalian

NRP

WALI

SISWA

Dosen

Siswa

1

N

Gaji

Kelas

N

M

TA

PEMBIMBING

BIMBINGAN

N

Lahir

Umur

Alamat

Atasan

1

Judul


Implementasi tabel

Implementasi: Tabel


Pendahuluan

Pendahuluan

  • SQL - Standard Database Relasi

  • SQL  Structured Query Language

  • SEQUEL Structured English QUEry Language

  • Perintah untuk operasi Database dalam bentuk

    • Berupa satu perintah tunggal untuk satu operasi yang ditulis dalam satu baris (biasanya) perintah


Sejarah sql

Sejarah SQL

  • Pertama kali dibuat oleh IBM, dan digunakan dalam DB2

  • Pertama kali distandardisasi oleh ANSI tahun 1986 (ANSI SQL 1986)

  • Diperbaiki dalam standard SQL ’92 kemudian SQL’99

  • Terakhir ???

  • ACCESS 2003 menggunakan stadard SQL ’92


Introduction to access 2003 sql

DBMS

  • DBMS - Database Management System

  • Software untuk manajemen database

  • Software yang disertakan pembuat database/pihak lain untuk menjalankan sistem database

  • Secara umum, kalau mengatakan DBMS, artinya

    • File Database

    • Database Engine/Server Database

    • Perintah-perintah Database (SQL atau lainnya)

    • Administrasi Database

    • Dan sebagainya


Dbms dan sql

DBMS dan SQL

  • SQL dalam DBMS tertentu tidak dapat murni mengikuti standard SQL karena

    • Tergantung DBMS

    • Tergantung Kemampuan

    • Tergantung Riwayat/Sejarah

  • Akibatnya, secara umum

    • Sebagian SQL akan standard/sama untuk semua DBMS

    • Sebagian SQL akan berbeda untuk semua DBMS

    • Diperlukan pengetahuan tertendiri untuk masing-masing DBMS


Apakah tidak bisa mengoperasikan database tanpa sql

Apakah tidak bisa mengoperasikan database tanpa SQL ?

  • Cara umum untuk menjalankan database tanpa perintah SQL adalah dengan menggunakan cara Navigasi Database atau RecordSet

    • Membuka Tabel

    • Menentukan Filter

    • Mencari

    • Mengubah/Menghapus/Menambah data

    • Bergeser/berpindah/navigasi pointer/cursor naik atau turun

    • Mendeteksi awal atau akhir record (baris)

    • Menutup tabel

  • Sering juga dikenal dengan nama Cursor


Mengapa harus sql apa kelebihan sql

Mengapa Harus SQL ?Apa kelebihan SQL ?

  • SQL adalah perintah yang berbentuk satu perintah untuk satu proses/operasi database

    • Lebih mudah memberikan perintah dibandingkan harus mengoperasikan database (misalkan dengan cara navigasi)

  • Memiliki variasi perintah yang cukup banyak

    • Memungkinkan melakukan operasi yang sangat beragam

  • Standard, mudah mengoperasikan SQL pada berbagai jenis DBMS (seharusnya)

    • Saat ini, kompatibilitasnya masih terbatas


Pembagian perintah sql

Pembagian Perintah SQL

  • Data Retrieval  Digunakan untuk mengambil/membaca Database

    • SELECT

  • DDL (Data Definition Language)  Digunakan untuk menyatakan suatu Database

    • CREATE, ALTER, DROP, RENAME, TRUNCATE

  • DML (Data Manipulation Language)  Digunakan untuk pengubahan Database

    • INSERT, UPDATE, DELETE, MERGE

  • Transaction Control  Digunakan untuk mengendalikan Transaksi

    • COMMIT, ROLLBACK, SAVEPOINT

  • DCL (Data Control Language)  Digunakan untuk mengendalikan Database

    • GRANT, REVOKE


Penulisan sql select dasar

Penulisan SQL SELECT Dasar

  • Pembagian/Kemampuan perintah SELECT

    • Proyeksi : Memilih Kolom

      • dinyatakan dalam klausa SELECT

    • Seleksi : Memilih Baris

      • dinyatakan dalam klausa WHERE

    • Join : Penggabungan tabel

      • dinyatakan klausa FROM

  • Format :

    • SELECT *|{[DISTINCT] kolom|ekspresi [AS alias],…} FROM tabel [AS alias]


Proyeksi seleksi join

Proyeksi – Seleksi – Join

Cari NAMA dan ALAMAT dari SISWA yang JURUSAN ELKA

Proyeksi

SISWA

JURUSAN

Seleksi

JOIN


Klausa select proyeksi

Klausa SELECT - Proyeksi

  • SELECT artinya memilih kolom mana yang akan ditampilkan (proyeksi)

  • Dapat terdiri dari :

    • List Kolom

    • List Semua Kolom (*)

    • Ekspresi (operasi aritmatika)

    • Fungsi (memanggil fungsi)

    • Alias (AS Nama atau AS [Nama Alias])

    • Distinct


Menjalankan perintah sql pada msaccess 2003

Menjalankan Perintah SQL pada MSACCESS 2003

Klik Dua Kali

Pilih

Tekan


Editor query

Editor Query

Klik

Ketik perintah

SQL di sini


Memasukkan perintah sql

Memasukkan Perintah SQL

Klik untuk

Menjalankan

Perintah SQL

Ketik perintah

SQL di sini


Hasil query

Hasil Query

Klik pada Panah untuk

kembali ke Mode Perintah SQL

Klik SQL View

Hasil Menjalankan

Perintah SQL


Contoh klausa select

Contoh Klausa SELECT

  • List Kolom

    • SELECT nama, alamat FROM siswa

    • SELECT siswa.nama, dosen.nama FROM siswa,dosen

  • List Semua Kolom (*)

    • SELECT * FROM siswa

    • SELECT siswa.*, dosen.nama FROM siswa,dosen

  • Ekspresi (operasi aritmatika)

    • SELECT gaji*0.1+5000 FROM dosen


Contoh klausa select lanj

Contoh Klausa SELECT (lanj.)

  • Fungsi (memanggil fungsi)

    • SELECT ucase(nama), format(lahir,”DD-MM-YYYY”) FROM siswa

    • SELECT cint((now-lahir)/365.25) FROM siswa

  • Alias (AS Nama atau AS [Nama Alias])

    • SELECT nama AS Mahasiswa FROM siswa

    • SELECT gaji*0.1 AS bonus FROM dosen

    • SELECT nama AS [Dosen Pembimbing] FROM dosen

  • Distinct – menampilkan satu untuk yang sama

    • SELECT DISTINCT kelas FROM siswa


Klausa from tabel join

Klausa FROM – Tabel/Join

  • FROM menunjukkan nama Tabel yang akan ditampilkan/dioperasikan

  • Dapat berupa

    • Tabel tunggal

    • Join

    • Query

    • Inline view

    • Alias


Contoh klausa from

Contoh Klausa FROM

  • Tabel tunggal

    • SELECT * FROM siswa

    • SELECT * FROM dosen

  • Join

    • SELECT * FROM siswa, dosen

  • Query

    • SELECT * FROM qsiswa

  • Inline view

    • SELECT * FROM (SELECT * FROM siswa)

  • Alias

    • SELECT * FROM dosen AS d1, dosen AS d2


Contoh perintah sql

Contoh Perintah SQL

  • Melihat seluruh isi suatu tabel

    • SELECT * FROM siswa;

  • Melihat hanya sebagian kolom dari suatu tabel

    • SELECT nama,alamat FROM siswa;

  • Melihat sekaligus melakukan operasi pada suatu kolom dan memberikan alias pada suatu kolom

    • SELECT nama AS Dosen,gaji,gaji*0.10 AS Bonus FROM dosen;

  • Melakukan penggabungan dengan suatu literal dan kolom

    • SELECT “Nama : “ & nama FROM siswa;

  • Mengambil hanya nilai-nilai yang berbeda/membatasi hasil yang muncul (semua siswa bekerja pada jurusan apa saja)

    • SELECT DISTINCT jurusan FROM siswa;


Soal tugas

Soal/Tugas

  • Tampilkan gaji semua dosen dalam bentuk rupiah

    • Contoh

    • NamaGaji

    • ANDIRp. 5000000

    • Daftar gaji pada tabel dalam dollar

  • Tampilkan Kemungkinan nilai nominal gaji berapa saja yang dibayarkan


Klausa where seleksi

Klausa WHERE - Seleksi

  • Memilih baris data mana saja yang akan ditampilkan (seleksi)

  • Format :

    • SELECT *|{[DISTINCT] kolom|ekspresi [AS alias],…} FROM table [WHERE kondisi];

  • WHERE menyatakan batasan apa saja yang diberikan

  • Kondisi :

    • Perbandingan - =, <>, >, <. <=, >=

    • Range - IN(…), BETWEEN … AND …

    • Boolean - AND, OR, NOT

    • NULL - IS NULL, IS NOT NULL

    • Kemiripan Like ? Untuk satu huruf, * untuk semua/segala


Contoh klausa where

Contoh Klausa WHERE

  • Perbandingan - =, <>, >, <. <=, >=

    • SELECT * FROM dosen WHERE nama=“Joko”

    • SELECT * FROM dosen WHERE gaji>200

  • Range - IN(…), BETWEEN … AND …

    • SELECT * FROM siswa WHERE kelas BETWEEN 2 AND 3

  • Boolean - AND, OR, NOT

    • SELECT * FROM data WHERE a=10 AND b=20


Contoh klausa where lanj

Contoh Klausa WHERE (lanj.)

  • NULL - IS NULL, IS NOT NULL

    • SELECT * FROM dosen WHERE atasan IS NULL

  • Kemiripan LIKE ? Untuk satu huruf, * untuk semua/segala

    • SELECT * FROM siswa WHERE nama LIKE "?ntok Maringis"

    • SELECT * FROM siswa WHERE nama LIKE “B*”

    • SELECT * FROM siswa WHERE nama LIKE “?A*”


Soal tugas1

Soal/Tugas

  • Tampilkan daftar siswa kelas 2 dan 3

  • Cari daftar mahasiswa yang memiliki kata wati pada namanya dan tampilkan hanya nama dan alamatnya


Klausa order by

Klausa ORDER BY

  • Menyatakan hasil akan diurutkan menurut kolom mana (bisa lebih dari satu kolom)

    • ASC (atau tidak disebutkan/default) menyatakan urutan naik

    • DESC menyatakan urutan turun

  • Format :

    • SELECT *|{[DISTINCT] kolom|ekspresi [AS alias],…} FROM table [WHERE kondisi] [ORDER BY kolom [ASC|DESC]];


Contoh perintah sql1

Contoh Perintah SQL

  • Membaca data semua siswa dengan kelas 3

    • SELECT * FROM siswa WHERE kelas=3;

  • Membaca data lengkap siswa dengan nama Dimas Ananto

    • SELECT * FROM siswa WHERE nama="Dimas Ananto";

  • Membaca dosen yang memiliki gaji >= 200 dollar

    • SELECT * FROM dosen WHERE gaji>=200;

  • Membaca data dosen memiliki gaji dari 100 sampai 200 dollar

    • SELECT * FROM dosen WHERE gaji BETWEEN 100 AND 200;

  • Membaca data siswa yang memiliki huruf kedua dari nama adalah ‘D’, dan urutkan berdasarkan nama dengan urutan menurun

    • SELECT * FROM siswa WHERE nama like "?D*“ ORDER BY nama DESC;


Fungsi single row

Fungsi Single-Row

  • Input fungsi dari satu baris/record, dan menghasilkan satu per baris

  • Input banyak baris, menghasilkan banyak baris yang sama

    • Mengolah data items

    • Dapat menerima argumen dan menghasilkan satu nilai

    • Mengeluarkan nilai untuk setiap baris data

    • Dapat mengubah tipe data

    • Dapat dalam bentuk bersarang (nested)

    • Dapat menerima argumen berupa data kolom atau suatu ekspresi


Contoh fungsi single row

Contoh Fungsi Single-row

  • Karakter (lcase, ucase, initcap, concat, instr)

    • SELECT lcase(nama) FROM dosen;

  • Bilangan (cint, int, mod)

    • SELECT gaji,cint(gaji/100) FROM dosen;

  • Tanggal (now, date, time, add_months, round, trunc)

    • SELECT now,now+1 AS besok FROM dual;

  • Konversi implisit, atau eksplisit (val, cdate, cstr)

    • SELECT format(date,"dd-mm-yyyy") FROM dual;


Soal tugas2

Soal/Tugas

  • Tampilkan tanggal 1 minggu kemudian

  • Tampilkan Nama dan Tanggal Lahir dengan format DD-MM-YYYY dari siswa yang tidak memiliki dosen wali


Fungsi multi row

Fungsi Multi-Row

  • Melakukan operasi pada sekelompok baris data untuk menghasilkan sebuah data

  • Input fungsi dari banyak baris, menghasilkan satu atau banyak baris (Gouping, Fungsi Agregat)


Contoh fungsi multi row

Contoh Fungsi Multi-row

  • count(*)

  • count(nama_kolom)

  • Sum(nama_kolom)

  • Min(nama_kolom)

  • max(nama_kolom)

  • avg(nama_kolom)


Soal tugas3

Soal/Tugas

  • Hitung jumlah seluruh siswa

  • Hitung jumlah pegawai yang tidak memiliki atasan

  • Hitung total gaji dosen dalam rupiah

  • Berapa gaji terendah, gaji tertinggi dan rata-rata gaji dosen

  • Hitung jumlah siswa tiap jurusan

  • Hitung total gaji dosen tiap jurusan


Menggabungkan tabel join

Menggabungkan Tabel (Join)

  • Alasan

    • Sering diperlukan melakukan beberapa operasi database untuk mendapatkan suatu informasi yang diinginkan

    • Perintah SQL dibatasi hanya berupa satu perintah/operasi saja untuk mendapatkan suatu hasil yang diinginkan

      • Tidak dapat menggunakan beberapa perintah/operasi sekaligus

      • Diperlukan cara untuk menggabungkan beberapa perintah/operasi menjadi satu perintah/operasi tunggal


Contoh alasan join

Contoh Alasan Join

  • Pertanyaan

    • Siapa nama dosen wali dari siswa yang namanya Yuliwati

  • Jawab

    • Cari Dosen Wali Yuliwatidari tabel Siswa

      • SELECT [dosen wali] FROM siswa WHERE nama= “Yuliwati”

    • Ternyata informasi Dosen Wali dari tabel Siswa masih dalam bentuk Kode NIP=1235

    • Cari mama Dosen Wali pada tabel Dosen menggunakan kunci pencarian NIP

      • SELECT nama FROM dosen WHERE NIP=1235


Contoh alasan join lanj

Contoh Alasan Join (lanj.)

  • Dengan menggunakan join, pertanyaan sebelumnya dapat dicari dengan sekali perintah/proses saja

    • Cari nama dosen wali siswa dari tabel siswa sekaligus tabel dosen, yang nama siswa=“Yuliwati” dan kode dosen wali siswa = kode NIP dari dosen

    • SELECT s.Nama as Siswa, d.Nama as Wali FROM siswa as s, dosen as d WHERE s.nama=“Yuliwati” AND s.wali=d.nip


Join lanjutan

Join (lanjutan)

  • Kegunaan :

    • Digunakan untuk menampilkan dari banyak tabel

    • Mengkombinasikan seluruh kemungkinan data antar banyak tabel

    • Mendapatkan informasi yang tersimpan pada tabel lain (melakukan relasi antara satu tabel dengan tabel lainnya)


Jenis join

Jenis Join

  • Cross/kartesian join

  • inner/equi join

    • natural join

    • join using

  • non equi join

  • outer join

    • left outer join

    • right outer join

    • full outer join

      • ACCESS 2003 tidak memiliki Full Outer Join

  • self join


Kartesian cross join

Kartesian/Cross Join

  • Digunakan untuk mendapatkan berbagai kemungkinan kombinasi

  • Hasil Join

    • Kolom berupakan gabungan dari semua tabel yang di-join

    • Baris merupakan semua kombinasi (jumlah perkalian) dari semua baris yang di-join

  • Contoh

    • SELECT * FROM siswa, dosen


Contoh cross join

Contoh : Cross Join

  • SELECT * FROM A, B

  • Kolom dijadikan satu antara A dan B

  • Baris data dikombinasikan (4x4=16)


Inner equi join

Inner/Equi Join

  • Digunakan untuk mendapatkan informasi dari beberapa tabel berdasar relasi yang sesuai

  • Inner artinya informasi relasi ada pada setiap tabel

    • SELECT * FROM siswa INNER JOIN dosen ON siswa.wali=dosen.nip

  • Equi artinya relasi dinyatakan dengan bentuk persamaan (sama dengan, =)

    • SELECT * FROM siswa, dosen WHERE wali=nip


Contoh inner equi join

Contoh : Inner/Equi Join

  • SELECT * FROM A INNER JOIN B ON A.X=B.V

  • SELECT * FROM A, B WHERE A.X=B.V

  • Hasil baris, nilai X yang sama dengan V


Inner non equi join

Inner/Non Equi Join

  • Sama dengan Inner/Equi Join, hanya menggunakan bentuk pertidak samaan, atau sering dalam bentuk range

  • Inner Join

    • SELECT * FROM siswa INNER JOIN dosen ON siswa. wali>dosen.nip

  • Non Equi Join artinya relasi dinyatakan dengan bentuk pertidaksamaan (>, <, <>, >=,<=)

    • SELECT * FROM nilai,konversi WHERE na>=min AND na<=max

    • SELECT * FROM nilai,konversi WHERE na BETWEEN min AND max


Natural join

Natural Join

  • none


Join using

Join Using

  • none


Outer join

Outer Join

  • Digunakan untuk mendapatkan informasi dari suatu tabel yang data-nya sesuai dan tidak sesuai


Left outer join

Left Outer Join

  • Mencari informasi yang relasi ada pada ke dua sisi tabel dan yang relasi tabel yang data pada sisi kiri tidak dijumpai pada sisi kanan

  • Tampilkan data siswa yang memiliki dosen wali sekaligus yang tidak

    • SELECT * FROM siswa LEFT JOIN dosen ON siswa.wali=dosen.nip


Contoh left outer join

Contoh : Left Outer Join

  • SELECT * FROM A LEFT JOIN B ON A.X=B.V

  • Seluruh data A ditampilkan dan data B yang sesuai dengan relasi X=V

  • Yang tidak sesuai, kosongkan


Right outer join

Right Outer Join

  • Mencari informasi yang relasi ada pada ke dua sisi tabel dan yang relasi tabel yang data pada sisi kanan tidak dijumpai pada sisi kiri

  • Tampilkan data dosen yang sebagai dosen wali dan yang tidak

    • SELECT * FROM siswa RIGHT JOIN dosen ON siswa.wali=dosen.nip;


Contoh right outer join

Contoh : Right Outer Join

  • SELECT * FROM A RIGHT JOIN B ON A.X=B.V

  • Seluruh data B ditampilkan dan data A yang sesuai dengan relasi X=V

  • Yang tidak sesuai, kosongkan


Full outer join

Full Outer Join

  • none


Self join

Self Join

  • Sama dengan join lainnya, hanya melibatkan tabel yang sama

  • SELECT d.nama as Dosen, a.nama as Atasan FROM dosen as d, dosen as a WHERE d.atasan=a.nip


Contoh join

Contoh Join

  • Kartesian, untuk mendapatkan seluruh kombinasi data

    • SELECT * FROM siswa, dosen;

  • Inner, relasi antar tabel dengan nilai data yang sama tepat

    • SELECT * FROM siswa INNER JOIN dosen ON siswa.wali=dosen.nip

  • Nonequijoin, untuk mencari/membandingkan nilai antara

    • SELECT * FROM nilai,konversi WHERE na>=min AND na<=max;

  • outer join, relasi dengan tabel yang kemungkinan nilai datanya tidak ada

    • SELECT * FROM siswa LEFT JOIN dosen ON siswa.wali=dosen.nip;

  • self join, relasi dengan diri sendiri

    • SELECT d.nama as Dosen, a.nama as Atasan FROM dosen as d, dosen as a WHERE d.atasan=a.nip


Soal tugas4

Soal/Tugas

  • Tampilkan Nama siswa lengkap dengan nama Jurusan

  • Tampilkan Nama siswa pada Jurusan “Elektronika” dan “Elektro Industri”

  • Tampilkan Nama siswa yang ketua jusannya “Mamat Darmawan”


Klausa group by

Klausa GROUP BY

  • Mengoperasikan sekelompok baris data menjadi bentuk group data

  • Fungsi Group (Multi-row Function)

    • AVG, COUNT, MAX, MIN, SUM, …

  • Format :

    • SELECT [kolom,] fungsi_group(kolom),… FROM tabel [WHERE kondisi] [GROUP BY kolom] [HAVING kondisi_group] [ORDER BY kolom];


Aturan group

Aturan Group

  • Penggunaan Multi-row Function tidak harus menggunakan klausa GROUP BY

  • Contoh

    • SELECT max(kelas) FROM siswa GROUP BY jurusan

  • Boleh

    • SELECT count(*) FROM siswa

    • SELECT sum(gaji) AS [Total Gaji], min(gaji) AS [Gaji Terendah], max(gaji) AS [Gaji Tertinggi] FROM dosen WHERE jurusan=1


Aturan group lanjutan

Aturan Group (lanjutan)

  • Penggunaan Single-row Function bersama-sama dengan Multi-row Function harus menggunakan klausa GROUP BY

    • List pada GROUP BY sama dengan semua Single-row Function yang digunakan

  • Contoh

    • SELECT jurusan,sum(gaji) FROM dosen GROUP BY jurusan

  • Salah

    • SELECT kelas,count(*) FROM siswa


Aturan group lanjutan1

Aturan Group (lanjutan)

  • Penggunaan klausa GROUP BY harus menggunakan Multi-row Function

  • Contoh

    • SELECT count(*) FROM siswa GROUP BY kelas

  • Salah

    • SELECT nama FROM siswa GROUP BY jurusan


Aturan group lanjutan2

Aturan Group (lanjutan)

  • Penggunaan klausa GROUP BY tidak harus menggunakan Single-row Function

  • Contoh

    • SELECT wali, count(nama) FROM siswa GROUP BY wali

  • Boleh

    • SELECT count(*) FROM siswa GROUP BY kelas


Klausa having

Klausa HAVING

  • Identik dengan klausa WHERE

  • Digunakan untuk membatasi jumlah /memilih baris yang tampil

  • Klausa WHERE digunakan pada operasi Single-row

  • Klausa HAVING digunakan pada operasi Multi-row


Aturan klausa having

Aturan Klausa HAVING

  • Penggunaan klausa GROUP BY tidak harus menggunakan klausa HAVING

  • Contoh

    • SELECT count(*) FROM siswa GROUP BY kelas HAVING count(*)>10

  • Boleh

    • SELECT count(*) FROM siswa GROUP BY kelas


Aturan klausa having lanj

Aturan Klausa HAVING (lanj.)

  • Penggunaan klausa HAVING tidak harus menggunakan GROUP BY

  • Contoh

    • SELECT sum(gaji) FROM dosen GROUP BY jurusan HAVING sum(gaji)>500

  • Boleh

    • SELECT count(*) FROM siswa HAVING count(*)>10


Aturan klausa having lanj1

Aturan Klausa HAVING (lanj.)

  • Seleksi Single-row harus menggunakan klausa WHERE

  • Contoh

    • SELECT sum(gaji) FROM dosen GROUP BY jurusan WHERE jurusan=1

  • Salah

    • SELECT sum(gaji) FROM pegawai GROUP BY jurusan HAVING jurusan=1


Aturan klausa having lanj2

Aturan Klausa HAVING (lanj.)

  • Seleksi Multi-row harus menggunakan Klausa HAVING

  • Contoh

    • SELECT sum(gaji) FROM dosen GROUP BY jurusan HAVING sum(gaji)<500

  • Salah

    • SELECT sum(gaji) FROM dosen GROUP BY jurusan WHERE sum(gaji)<500


Contoh group

Contoh Group

  • Menghitung jumlah dosen setiap jurusan dan mengurutkan hasilnya berdasar nomor jurusan

    • SELECT Jurusan,count(nip) as Jumlah FROM dosen GROUP BY jurusan ORDER BY jurusan;

  • Menghitung total gaji pegawai dari departemen nomor 2, 3, dan 4, tetapi hanya menampilkan yang total setiap jurusannya lebih besar dari 500 dollar

    • SELECT Jurusan,sum(sal) as [Total Gaji] FROM dosen WHERE jurusan IN(2,3,4) GROUP BY jurusan having sum(sal)>500 ORDER BY jurusan;


Soal tugas5

Soal/Tugas

  • Tampilkan total gaji dalam rupiah yang harus dibayarkan pada jurusan “Elektronika” dan “Teknik Komputer”

  • Tampilkan Jumlah siswa tiap Jurusan lengkap dengan nama Jurusan-nya


Subquery

Subquery

  • Mencari sesuatu yang berasal dari hasil query lainnya

  • Petunjuk

    • Subquery diawali dengan kurung buka dan diakhiri dengan kurung tutup

    • Subquery diletakkan pada sisi kanan dari suatu perbandingan

    • Penggunaan order by dalam subquery tidak diperlukan, kecuali untuk melakukan analisa top-n

    • Gunakan operator yang sesuai dengan hasil dari subquery. Single-row operator dengan single-row subquery, multiple-row operator dengan multiple-row subquery


Contoh subquery

Contoh Subquery

  • Siapa saja pegawai yang gajinya lebih besar dari gaji Adam ? Untuk itu, harus dicari dulu, berapa gaji Adam ?

    • SELECT * FROM dosen WHERE gaji>(SELECT gaji FROM dosen WHERE nama="Permata Sari");

  • Hasil subquery harus satu baris, menggunakan perbandingan

    • SELECT * FROM dosen WHERE gaji=(SELECT gaji FROM dosen WHERE nama="Permata Sari");

  • Hasil subquery boleh banyak baris, menggunakan range

    • SELECT * FROM dosen WHERE gaji in (SELECT gaji FROM dosen WHERE jurusan=2)

  • Salah, karena operator perbandingan digunakan pada subquery yang menghasilkan banyak baris

    • SELECT * FROM dosen WHERE gaji=(SELECT gaji FROM dosen WHERE jurusan=2);


Soal tugas6

Soal/Tugas

  • Tampilkan Nama siswa yang memiliki satu jurusan dengan siswa yang bernama “Titik Priyanti”


Inline view

Inline View

  • Digunakan untuk mengantikan list Tabel menjadi perintah QUERY

  • Untuk melakukan operasi yang tidak berasal dari tabel aslinya

  • Menyederhanakan perintah yang rumit


Contoh inline view

Contoh Inline View

  • Membaca data pegawai dengan nomor departemen>2, yang berasal dari suatu inline view

    • SELECT * FROM (SELECT nama,jurusan FROM dosen) WHERE jurusan>2

  • Melakukan operasi join hasil dari suatu inline view

    • SELECT d.*,j.jurusan FROM (SELECT nama,jurusan FROM dosen WHERE gaji>100) as d,(SELECT kode,jurusan FROM jurusan WHERE kode>2) as j WHERE d.jurusan=j.kode

  • Melakukan manipulasi data pada suatu inline view

    • UPDATE (SELECT nama,gaji FROM dosen WHERE jurusan=2) SET gaji=100 WHERE gaji=110


Soal tugas7

Soal/Tugas


Parameter value

Parameter Value

  • Subsitusi Variabel

    • Memasukkan suatu nilai parameter tiap kali menjalankan perintah SQL

  • Contoh

    • SELECT * FROM dosen WHERE gaji>BatasGaji;

    • SELECT Nama, format(lahir,"DD-MM-YYYY") as [Tanggal Lahir] FROM siswa

      WHERE ucase(nama) like "*" & ucase([Masukkan Nama Siswa :]) & "*"


Menggunakan operator set union

Menggunakan Operator SET UNION

  • Digunakan untuk menggabungkan hasil dari lebih dari satu query

  • Hasil dari setiap query harus memiliki kolom yang sama

  • UNION - tidak semua (yang kembar dibuang)

  • UNION ALL - semua


Contoh

Contoh

  • Menggabungkan semua hasil dari dosen yang bekerja pada jurusan 2 dan jurusan 3

  • Hasilnya sama dengan perintah

    • SELECT * FROM dosen WHERE jurusan IN (2,3) ORDER BY jurusan

    • SELECT * FROM dosen WHERE jurusan=2

      UNION ALL

      SELECT * FROM dosen WHERE jurusan=3;


Memanipulasi data

Memanipulasi Data

  • DML - Data Manipulation Language

    • Menambah baris data baru

    • Mengubah isi suatu baris data

    • Menghapus suatu baris data

  • Transaksi adalah kumpulan dari perintah DML yang membentuk suatu suatu kerja tertentu


Contoh operasi dml

Contoh Operasi DML

  • INSERT INTO jurusan (kode,jurusan,kajur,sekjur) VALUES (8,”Akutansi”,1230,1237);

  • INSERT INTO jurusan VALUES (9,”Perpajakan”,1233,1239);

  • UPDATE jurusan SET jurusan=“Keuangan” WHERE kode=8;

  • DELETE FROM jurusan WHERE kode IN (8,9);


Soal tugas8

Soal/Tugas

  • Tampilkan data Kelas dari siswa yang ketua jurusannya bernama “Bromantoro Diarwanto” dan dosen wali “Guna Mardi”

  • Ubah data kelas dari siswa tersebut menjadi kelas 4


Membuat dan mengatur tabel

Membuat dan Mengatur Tabel

  • CREATE TABLE nama (

    kolom tipe konstrain,

    kolom tipe konstrain konstrain,

    [Nama Kolom] tipe konstrain,

    …,

    kolom tipe konstrain,

    CONSTRAINT namak konstrain (kolom)

    );


Introduction to access 2003 sql

Tipe

  • BOOLEAN

  • INTEGER, LONG, CURRENCY, SINGLE, DOUBLE atau NUMBER

  • CHAR, VARCHAR atau TEXT

  • DATE

  • MEMO

  • VARIANT (default)


Konstrain

Konstrain

  • NOT NULL

  • PRIMARY KEY

  • UNIQUE

  • REFERENCES tabel(kolom)


Pengertian konstrain

Pengertian Konstrain

  • Kegunaan :

    • Memberikan aturan pada tingkat table

    • Membatasi Manipulasi tertentu pada Tabel

    • Menjaga Integritas Data

    • Menjaga Validitas Data

  • Jenis

    • NOT NULL

    • UNIQUE

    • PRIMARY KEY

    • FOREIGN KEY


Penjelasan konstrain

Penjelasan Konstrain

  • NOT NULL

    • Suatu kolom harus memiliki nilai tertentu (tidak boleh kosong)

  • UNIQUE

    • Suatu kolom harus tidak boleh memiliki nilai yang sama (tetapi boleh null)

    • …, kolom tipe NOT NULL UNIQUE, …

    • …, CONSTRAINT nama_konstrain UNIQUE (kolom), ...

  • PRIMARY KEY

    • Suatu kolom dinyatakan sebagai kunci utama dari suatu tabel

    • Otomatis dianggap UNIQUE dan NOT NULL

    • …, kolom tipe NOT NULL PRIMARY KEY, ...

    • ..., CONSTRAINT nama_konstrain PRYMARY KEY(kolom), ...

  • FOREIGN KEY

    • Menyatakan suatu kolom harus sesuai dengan kolom lain dari suatu tabel

    • …, kolom tipe REFERENCES tabel(kolom), …

    • …, CONSTRAINT nama_k FOREIGN KEY(kolom) REFERENCES tabel(kolom), ...


Perintah lainnya

Perintah Lainnya :

  • ALTER TABLE nama_tabel(…)

  • DROP TABLE nama_tabel


Contoh membuat tabel

Contoh Membuat Tabel

CREATE TABLE dosen(

nipvarchar(15) not null primary key,

namavarchar(50) not null

);

CREATE TABLE siswa(

nrpvarchar(15) not null primary key,

namavarchar(50) not null,

walivarchar(15) references dosen(nip)

);

CREATE INDEX nama_siswa ON siswa(nama);


Indeks

Indeks

  • Suatu tabel khusus yang berisi kolom dengan data yang telah diurutkan

  • Kegunaan

    • Mempercepat pencarian

    • Pengujian data unik

  • Otomatis dibuatkan saat suatu kolom dianggap sebagai PRIMARY KEY atau UNIQUE

  • Format

    • CREATE INDEX namaI ON tabel (kolom1, …);


  • Login