MODUL II SQL MENGGUNAKAN SQL SERVER SUBSTRING SUBQUERY AGGREGATE FUNCTION STORED PROCEDURE STORED FUNCTION DAN VIEW

dokumen-dokumen yang mirip
Apakah SQL? Membuat basis data dan struktur tabel Input, update, dan delete data dari tabel Membuat query sederhana dan kompleks SQL

STORE PROCEDURE. Pemrograman Client Server Sarji, S.Kom Studi kasus pada

BAB VIII FUNGSI, PL/PGSQL dan TRIGER

MODUL PRAKTIKUM 06. Database Implementation dengan Aggregate. - Mengetahui dan membuat perintah dasar Aggregate Count, Sum, AVG, Min, Max.


STRUCTURE QUERY LANGUAGE (SQL)

Pengenalan Database Management System MySQL. Pokok Bahasan: Pengenalan DataBase Pembangunan database berbasis Client-Server Dasar-Dasar MySQL

Pertemuan VI F U N C T I O N

Modul 6 Function dan Trigger

Pengertian Query. Query adalah perintah-perintah untuk mengakses data pada sistem basis data

Untuk mencoba contoh-contoh perintah join, silahkan eksekusi query create+insert dibawah ini:

Program Studi: Manajemen Bisnis Telekomunikasi & Informatika Mata Kuliah: Data Management Oleh: Yudi Priyadi. (Structure of The Database Language)

MODUL VII DATABASE DAN MICROSOFT SQL SERVER 2000

MODUL V DATA MANIPULATION LANGUAGE (DML) 1

SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG

By Mrs Imana Malia Kondou, S.T. missimanakondou.wordpress.com

DATABASE RUMAH SAKIT 1. Objek yang dipakai a. Pasien b. Dokter c. Ruang d. Petugas e. Rawat_inap f. Pembayaran

Basis Data. Bagian IV SQL (3) Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan

Kontrak Kuliah. Stored Procedures and Function. Edi Sugiarto, S.Kom, M.Kom

Apa yang akan dibahas? Pengertian SQL Penggolongan Statement SQL Aturan Gramatika SQL Struktur Dasar SQL Query Satu (1) Tabel

SQL (Structure Query Language) Gentisya Tri Mardiani, S.Kom


Contoh SQL Constraint

LAPORAN PRAKTIKUM MODUL 1 PENGENALAN MYSQL

SQL (STRUCTURED QUERY LANGUAGE)

MODUL 5 INTERNET PROGRAMMING : MySQL

Modul 3 : Query Penggabungan Tabel

CONTOH SQL. ERD untuk entitas Mahasiswa mengambil/mengikuti Kuliah. N mengikuti. N Kuliah. Mahasiswa MEMBUAT (CREATE) TABEL. Buat tabel mahasiswa:

Membuat Function, Stored Procedur dan View pada MySQL

MODUL 3 PENGELOMPOKAN, PENGURUTAN, KRITERIA DATA, AGREGASI

MySQL Databases. Dasar-dasar MySQL dan Implementasi MySQL kedalam pemrograman PHP. Jakarta, 16 April 2011 Oleh: M. Awaludin, S.Kom

MODUL 4 INTERNET PROGRAMMING DATABASE

Pertemuan 11: Fungsi Agregat

Modul 3 Pengelolaan Tabel

S Q L STRUCTURED QUERY LANGUAGE DEFINITION MANIPULATION C O N T R O L D M L SELECT INSERT UPDATE DELETE

MODUL 9 WEB PROGRAMMING : MySQL

PERINTAH DASAR MySQL

Praktikum Basis Data. By. Rita Wiryasaputra, ST., M. Cs.

PRAKTIKUM 8 SINGLE ROW & GROUP FUNCTION

S Q L. Sejarah SQL. Penulisan Perintah SQL. SQL (Structure Query Language)

Rencana Pelaksanaan Pembelajaran

MODUL 8 PENGENALAN MySQL FRONT DAN AGREGGATE FUNCTION

Kontrak Kuliah. Dasar-dasar MySQL. Edi Sugiarto, S.Kom, M.Kom

STRUCTURE QUERY LANGUAGE

Praktikum TRANSACT SQL. Tujuan : Praktikan mampu untuk mengerti dan memahami Transact-SQL

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN WEB Semester: 2 MYSQL 200 menit No.: Job: 12 Tgl: Hal.

BAB 6 PROGRAM UNITS DAN STRORED PROGRAMS UNITS

Stored Procedure. M. Saefudin SKom, MMSI

MODUL 1 DATABASE MYSQL

Syntax Syntax SQL. Untuk lebih jelasnya dapat dilihat sebagai berikut : 1. DDL (Definition Data Language) a. CREATE

Pengenalan Structured Query Language

Agenda SQL. Pemakai SQL. Kemampuan SQL 02/12/2010 STRUCTURED QUERY LANGUAGE (SQL) Structured Query Language (SQL) (Pert. 9)

5. Database MySQL. Apa Database MySQL Itu? Hirarki Dalam Database. Table

Basis Data 2. Procedure dan Function Database. Arif Basofi, S.Kom. MT. Teknik Informatika, PENS

Praktikum Basis Data 14 Structure Query Language 2

Pertemuan 12 Pengenalan Structured Query Language

SQL Lanjut. Modifikasi Database. Versi 2

MODUL PEMPROGRAMAN SQL TINGKAT DASAR 1 STANDAR KOMPETENSI: MENERAPKAN BAHASA PEMPROGRAMAN SQL TINGKAT DASAR SMK NEGERI 1 MAJALENGKA

Bahasa Query dan 4GL. Leo kumoro sakti. Abstrak. Pendahuluan

Pertemuan IV CONDITION & HANDLER CURSOR

Persiapan Table Untuk Latihan Sebelum kita berkenalan lebih jauh dengan Trigger, mari kita buat terlebih dahulu, struktur table yang dibutuhkan.

Untuk menjalankan Mysql secara konpensional jalankan Mysql.exe pada direktori Mysql\Bin. Akan tampak tampilan sebagai berikut:

Basis Data. DDL & Aturan Referential

Tahap Instalasi PostgreSQL di Windows

STRUCTURED QUERY LANGUAGE (SQL) (Implementasi menggunakan MySQL)

BERMAIN DATA DENGAN SQL SERVER

Macam - Macam Perintah Pada SQL

MySQL J A M K E T I G A

Pengertian. Mengapa SP? Mengapa SP? 07/05/2012 STORED PROCEDURE

Mahasiswa mengetahui & memahami mengenai DML, DCL di SQL. (Isi_Field_1, Isi_Field_2,, Isi_Field_N) ;

MODUL 1 Pengenalan MySQL, DDL, DML

Praktikum Basis Data 2017 TE UM

DESAIN DATABASE. Pertemuan 06 3 SKS

3.1 Form Wizard. 3. Pilihlah menu use data block wizard dan tekanlah button OK, maka akan tampil window di bawah ini.

Untuk menampilkan data-data yang telah tersimpan dalam database diperlukan perintah SELECT, yang dapat dirumuskan sebagai berikut:

Modul 2. Database Menggunakan Primary Key, Unique, Auto Increment, Alter-Add dan Alter-Drop. Disusun oleh. Sri Siska Wirdaniyati JURUSAN STATISTIKA

Modul 3. Oleh : Mohammad Sholikin. 1

Data Manipulation Language (DML) & Data Control Language (DCL) pada Database

Kunci komposit adalah kunci yang melibatkan lebih dari satu field Contoh tabel Tanggungan: Apa yang terjadi kalau kunci primer hanya berupa NIP?

Structured Query Language

Transact-SQL (Trigger- Event, Store Procedure)

MODUL III STRUCTURED QUERY ANGUAGE (SQL)

P - 7 Pembahasan UTS PSIK V

PERTEMUAN 5 PENGGUNAAN FUNGSI GROUP

PENGENALAN SINTAKS DASAR DALAM MySQL

MODUL SISTEM BASIS DATA FUNGSI AGREGAT

Pertemuan Ke-13 (PHP & MYSQL) Adi Widodo,S.Kom.,MMSI 1

1. Memulai pengelolaan database Menampilkan daftar database Sintaks : show databases;

LAPORAN PRAKTIKUM IV BASIS DATA (SISTEM BERKAS - LAN)

Data Manipulation Language (DML)

Karena VIEW dibentuk tanpa mencantumkan nama kolom baru, maka v1 mewarisi kolom yang yang dipilih pada tabel mahasiswa_xxx.

Praktikum Basis Data 2017 TE UM MODUL 8 TRIGGER A. TUJUAN

SQL. Brigida Arie Minartiningtyas, M.Kom

Sistem Basis Data. Pertemuan 13 SQL INSERT & SELECT TUJUAN

LAMPIRAN. 1) Membuat database baru untuk menampung data warehouse, yang bernama

SQL DASAR BASIS DATA. Rajif Agung Yunmar, S.Kom., M.Cs.

Oracle Academic Initiative

MODUL PRAKTIKUM 04. Database Implementation dengan Perintah SQL

B a s i s D a t a C H A P T E R. SQL Operasi DML. Arif Basofi PENS 2015

Query adalah bahasa SQL (Structured Query Language) yang ditampilkan dalam bentuk visual, yang dapat digunakan untuk melihat, memodifikasi dan

Transkripsi:

MODUL II SQL MENGGUNAKAN SQL SERVER 2000 ------------------------- SUBSTRING SUBQUERY AGGREGATE FUNCTION STORED PROCEDURE STORED FUNCTION DAN VIEW by Abdul Malik Ikhsan samsonasik@gmail.com http://samsonasik.wordpress.com

/* membuat database modul2 create database modul2 /* menggunakan database yang telah dibuat, dalam hal ini, modul2 use modul2 /* membuat table pegawai create table pegawai(nip char(7) not null primary key, nama_pegawai char(50), alamat_pegawai char(100),gapok float) /* describe table pegawai sp_columns pegawai /* membuat table absensi create table absensi(tgl datetime,nip char(7),keterangan char(5)) /* inputkan data pegawai ke tabel pegawai insert into pegawai(nip,nama_pegawai,alamat_pegawai,gapok) values('p001','abdul Malik Ikhsan','Jalan Jakarta No. 28',1000000) insert into pegawai(nip,nama_pegawai,alamat_pegawai,gapok) values('p002','helmi Faisal Muttaqin','Jalan Labuhan No. 122',2000000) insert into pegawai(nip,nama_pegawai,alamat_pegawai,gapok) values('p003','moh. Jakaria','Jalan Plesiran 31',3000000) /* sekarang, inputkan data absensi ke tabel absensi insert into absensi(tgl,nip,keterangan) values('2007-01- 01','p003','hadir') insert into absensi(tgl,nip,keterangan) values('2007-01- 01','p002','izin') insert into absensi(tgl,nip,keterangan) values('2007-12- 13','p001','sakit') insert into absensi(tgl,nip,keterangan) values('2007-10- 12','p002','izin') insert into absensi(tgl,nip,keterangan) values('2007-11- 12','p002','hadir') /* seleksi absensi pegawai yang hadir select * from absensi where keterangan = 'hadir'

/* seleksi absensi pegawai yang izin select * from absensi where keterangan = 'izin' /* seleksi absensi pegawai yang sakit select * from absensi where keterangan = 'sakit' /* seleksi absensi pegawai yang izin dan tanggal tertentu select * from absensi where keterangan = 'izin' and tgl= '2007-11-12' /* seleksi antara tanggal tertentu sampai tanggal tertentu penggunaan between ini juga berlaku untuk yang lain... select * from absensi where tgl between '2007-01-01' and '2007-11-12' /* seleksi absensi pegawai yang TIDAK hadir select * from absensi where keterangan!='hadir' /* seleksi absensi tabel tertentu dengan like atau = select tgl,nip,keterangan from absensi where tgl like '%2007%' select tgl,nip,keterangan from absensi where tgl = '2007-01-01' /* seleksi tanggal dengan format dd/mm/yy SELECT CONVERT(VARCHAR(8), tgl, 3) AS tgl from absensi /* seleksi tanggal dengan format dd/mm/yyyy SELECT CONVERT(VARCHAR(10), tgl, 103) AS tgl from absensi /* seleksi tanggal dengan format mm/dd/yy SELECT CONVERT(VARCHAR(8), tgl, 1) AS tgl from absensi /* seleksi tanggal dengan format mm/dd/yy SELECT CONVERT(VARCHAR(10), tgl, 101) AS tgl from absensi /* SUBSTRING = adalah pengambilan beberapa karakter dari field dengan panjang tertentu select substring(nama_pegawai,1,5) as subnama from pegawai select substring(convert(varchar(10),tgl,103),1,5) as tgl from absensi

select substring(convert(varchar(10),tgl,103),4,2) as tgl from absensi /* dengan substring,kita bisa tahu absensi untuk bulan tertentu di bawah ini, tidak menampilkan tahun, semua yang substring bulan = '01' diseleksi :) select * from absensi where substring(convert(varchar(10),tgl,103),4,2)='01' /* ----------------------------------------- Sekarang, kita akan coba tampilkan data pegawai yang tidak hadir dengan format sebagai berikut /* Tgl --- Nama Pegawai --- Keterangan (-- mencari yang tidak hadir --) select a.tgl,b.nama_pegawai, a.keterangan from absensi a, pegawai b where b.nip=a.nip and a.keterangan!='hadir' /* Tgl --- Nama Pegawai --- Keterangan (-- mencari yang hadir dan izin saja --) select a.tgl,b.nama_pegawai, a.keterangan from absensi a, pegawai b where b.nip=a.nip and a.keterangan in('hadir','izin') /* SUBQUERY menampilkan query dalam query /* contoh : menampilkan data pegawai yang tidak melakukan absen /bolos/tidak ada keterangan select * from pegawai where nip<>all(select nip from absensi where tgl='2007-01-01') select * from pegawai where nip!=all(select nip from absensi where tgl='2007-01-01')

/* menampilkan data pegawai yang melakukan absen nip ada dalam record2 yang ada dalam table absensi select * from pegawai where nip=any(select nip from absensi where tgl='2007-01-01') /* AGGREGATE FUNCTION Berfungsi sebagai fungsi matematis dalam SQL /* =======COUNT========== Menghitung jumlah record select count(*) as jumlah from pegawai select count(*) as jumlah from pegawai where nip='p001' /* ========MAX DAN MIN======== -------biasanya max digunakan untuk menghitung nilai tertinggi yang tipe datanya INTEGER atau FLOAT --------- /* menghitung nilai tertinggi untuk tipe string/char select max(nip) as nipteratas from pegawai /* menghitung nilai terah untuk tipe string/char select min(nip) as nipterbawah from pegawai /* CONTOH REAL MAX DAN MIN select max(gapok) as maxgaji,min(gapok) as min_gaji from pegawai /* =========AVG========= Digunakan untuk menghitung rata-rata select avg(gapok) as rata2gaji from pegawai /* ==========SUM======== Digunakan untuk menjumlahkan nilai select sum(gapok) from pegawai

select sum(gapok) from pegawai where nama_pegawai like '%sa%' /*STORED PROCEDURE /* Stored Procedure dapat dikatakan instruksi yang dilakukan untuk menyingkat statement query yang sering diulang2 create proc qpeg as select * from pegawai /* panggil procedure exec qpeg /* membuat procedure dengan memasukkan parameter create proc peg_nip @nip char(7) as select * from pegawai where nip=@nip exec peg_nip 'p001' /* memberi nilai default pada parameter create proc peg_nip2 @nip char(7)='p002' as select * from pegawai where nip=@nip /* kita tidak perlu menambahkan parameter karena sudah diberi nilai default exec peg_nip2 create proc peg_nip3 @nip char(7)='%p00%' as select * from pegawai where nip like @nip exec peg_nip3 /* Dengan deklarasi create proc peg_ket @nip char(7) as declare @nama char(20),@keterangan char(50) select @nama=nama_pegawai from pegawai where nip=@nip if (@nama='abdul Malik Ikhsan') set @keterangan='ganteng' else set @keterangan='biasa aja tuh' print @nama+' orangnya '+@keterangan

exec peg_ket 'p001' /* STORED FUNCTION hampir sama dengan stored procedure,hanya saja dia mengembalikan nilai yang kita inginkan :) /* contoh --> mengembalikan nilai dari tabel create function getnama(@nip char(7)) returns table as return (select nama_pegawai from pegawai where nip=@nip) /* cara panggil select * from getnama('p001') /* mengembalikan nilai dengan parameter create function getnamalagi(@nip char(7)) returns char(50) as declare @nama char(50) set @nama=(select nama_pegawai from pegawai where nip=@nip) return @nama /* jika kita meklarasikan parameter, berarti untuk memanggilnya, kita harus memanggil dbo-nya(database objecknya) select dbo.getnamalagi('p001') as nama create function getalamat(@nip char(7)) returns char(50) as declare @alamat char(50) set @alamat=(select alamat_pegawai from pegawai where nip=@nip) return @alamat select dbo.getalamat('p002') /* MENGGABUNGKAN STORED PROCEDURE DAN STORED FUNCTION misalkan, kita punya procedure tampilkan alamat berdasarkan nip

yang diinputkan dalam parameter procedure tersebut... --------- kita tampilkan keterangan dengan function :) create proc ambilketerangan @nip char(7) as select alamat_pegawai from pegawai where nama_pegawai=(select * from getnama(@nip)) exec ambilketerangan 'p001' /* VIEW view adalah pandangan yang diciptakan agar proses pengambilan tidak langsung ke tabel, tetapi melalui object view yang kita create hanya saja, ia tidak bisa passing parameter create view speg_view as select * from pegawai where nip!=all(select nip from absensi where keterangan='izin') select * from speg_view /* CONTOH KASUS AGGREGATE FUNCTION UNTUK HITUNG TOTAL GAJI ANGGAP SAJA SETIAP KALI ABSENSI DENGAN KETERANGAN 'HADIR' BERARTI ADA TAMBAHAN 30000 YANG NANTINYA DIKALIKAN JUMLAH HARI DAN DITAMBAHKAN GAJI POKOK create proc hitunggajitotal @nip char(7) as declare @gapok int,@jmlhari int,@gatot int set @jmlhari=(select count(*) as jmlhari from absensi where keterangan='hadir' and nip=@nip) set @gapok=(select gapok from pegawai where nip=@nip) set @gatot=@gapok+(@jmlhari*30000) print @gatot exec hitunggajitotal 'p002'