Basis Data II

84
BASIS DATA II SQL (Structure Query Language)

Transcript of Basis Data II

Page 1: Basis Data II

BASIS DATA II

SQL (Structure Query Language)

Page 2: Basis Data II

Materi Basis Data I :

1. Pengantar SQL

2. DDL (Data Defenition Language)

3. Tipe-tipe Data

4. DML (Data Manipulation Language)

5. Fungsi-fungsi SQL

6. SQL Join

7. Store Procedure

9X TM(UTS)

8X TM(UAS)

Page 3: Basis Data II

1. Pengantar SQL

SQL kependekan dari Structure Query Language.

SQL termasuk bahasa generasi ke-3 (Third Generation Language/3GL) sebab SQL tidak menggunakan prosedur atau class, dengan kata lain SQL bukan bahasa pemrograman berorientasi object (OOP). OOP merupakan bahasa generasi ke-4 (4GL).

Page 4: Basis Data II

1. Pengantar SQL

SQL dibaca “Sequel”.

SQL merupakan standard industri, artinya SQL dapat digunakan untuk semua program basis data seperti Ms-Access, IBM DB2, Informix, Oracle, SQL Server, Sybase dan sebagainya.

Page 5: Basis Data II

1. Pengantar SQL

Kalau bukan OOP kenapa SQL perlu dipelajari oleh Seorang Programmer ?

Sebab :

Untuk membangun program yang berbasis data (database) seperti WEB atau program aplikasi basis data yang dibangun menggunakan Delphi, VB.Net atau Visual Foxpro, dll Seorang Programmer pasti menggunakan SQL.

Page 6: Basis Data II

1. Pengantar SQL

Contoh :Untuk membangun Web Site dinamis, maka yang diperlukan Programmer Web adalah :

1. Software database RDBMS (MS Access, SQL Server, MySQL, Oracle, IBM DB2, dll)

2. Bahasa server-side scripting (PHP atau ASP)

3. SQL 4. HTML / CSS

Page 7: Basis Data II

1. Pengantar SQL

Apa kegunaan SQL pada suatu program aplikasi berbasis data ?

Untuk mengakses dan memanipulasi basis data (database).

Page 8: Basis Data II

1. Pengantar SQL

Apa saja yang dapat dilakukan SQL untuk mengakses dan memanipulasi basis data tersebut ?

1. SQL dapat menampilkan data dari database

2. SQL dapat memasukkan data kedalam database

Page 9: Basis Data II

1. Pengantar SQL

3. SQL dapat memperbaharui data pada database

4. SQL dapat menghapus data pada database

5. SQL dapat menggabungkan data pada satu database atau berbeda database

6. SQL dapat membuat database baru

Page 10: Basis Data II

1. Pengantar SQL

7. SQL dapat membuat tabel baru didalam suatu database

8. SQL dapat membuat stored procedure didalam database

9. SQL dapat membuat hak akses pada database.

Page 11: Basis Data II

1. Pengantar SQL

Bagaimana aturan penulisan pernyataan SQL (SQL Statements) ?

1. SQL bukan case sensitive artinya tidak membedakan huruf capital atau tidak dalam penulisan pernyataan SQL.

2. Set Pernyataan SQL selalu diakhiri dengan tanda semi-colon (;).

Page 12: Basis Data II

2. DDL (Data Defenition Language)

CREATE DATABASE – membuat database baru USE DATABASE - mengaktifkan database DROP DATABASE – menghapus database ALTER DATABASE – memodifikasi database CREATE TABLE – membuat tabel baru ALTER TABLE – memodifikasi tabel DROP TABLE – menghapus tabel CREATE INDEX – membuat index tabel (search key) DROP INDEX – menghapus index tabel

Page 13: Basis Data II

2. DDL (Data Defenition Language)

CREATE DATABASE – membuat database baru

CREATE DATABASE nama_database;

Contoh : Membuat database My_DB

CREATE DATABASE My_DB;

Page 14: Basis Data II

2. DDL (Data Defenition Language)

USE DATABASE – Mengkatifkan database

USE DATABASE nama_database;

Contoh : Mengkatifkan database My_DB

USE DATABASE My_DB;

Page 15: Basis Data II

2. DDL (Data Defenition Language)

DROP DATABASE – Menghapus database

DROP DATABASE nama_database;

Contoh : Menghapus database My_DB

DROP DATABASE My_DB;

Catatan : Database yang sedang aktif tidak dapat dihapus !!!

Page 16: Basis Data II

2. DDL (Data Defenition Language)

ALTER DATABASE – memodifikasi database

ALTER DATABASE Nama_dbSET ONLINE | OFFLINE;

Contoh : Memodifikasi database My_DB menjadi OFFLINE

ALTER DATABASE My_DBSET OFFLINE;

Page 17: Basis Data II

2. DDL (Data Defenition Language)

CREATE TABLE – membuat tabel baru

CREATE TABLE nama_tabel( column_name1 data_type [constraint], column_name2 data_type [constraint], column_name3 data_type [constraint], ....);

Page 18: Basis Data II

2. DDL (Data Defenition Language)

Contoh : Membuat tabel Siswa terdiri dari 4 kolom (NIS, Nama Siswa,

Alamat dan Kota)

CREATE TABLE Siswa( NIS int, [Nama Siswa] varchar(50), Alamat varchar(200), Kota char(20));

Page 19: Basis Data II

2. DDL (Data Defenition Language)

SQL CONSTRAINTConstraint adalah pembatasan data pada tabel.

Constraint digunakan pada saat membuat tabel (CREATE TABLE) atau setelah tabel dibuat (ALTER TABLE).

Constraint-constraint pada SQL : NOT NULL UNIQUE PRIMARY KEY FOREIGN KEY CHECK DEFAULT

Page 20: Basis Data II

2. DDL (Data Defenition Language)

CONSTRAINT NOT NULLConstraint NOT NULL adalah Pembatasan data dimana data yang di entry tidak boleh Null (Kosong).

Contoh : Membuat tabel Siswa terdiri dari 4 kolom (NIS, Nama, Alamat dan Kota). Dimana NIS dan Nama wajib diisi sedangkan Alamat dan Kota boleh tidak diisi.

CREATE TABLE Siswa( NIS int NOT NULL, Nama varchar(50) NOT NULL, Alamat varchar(200), Kota char(20));

Page 21: Basis Data II

2. DDL (Data Defenition Language)

CONSTRAINT UNIQUEConstraint Unique adalah pembatasan data dimana data yang di entry tidak boleh ganda atau duplikat. UNIQUE harus NOT NULL. UNIQUE dapat digunakan lebih dari satu pd tabel.

Contoh : Membuat tabel Siswa terdiri dari 4 kolom (NIS, Nama, Alamat dan Kota). NIS bersifat UNIQUE.

CREATE TABLE Siswa( NIS int NOT NULL, Nama varchar(50), Alamat varchar(200), Kota char(20),

CONSTRAINT NIS_Unik UNIQUE (NIS));

Page 22: Basis Data II

2. DDL (Data Defenition Language)

CONSTRAINT PRIMARY KEYConstraint PK adalah pembatasan data dimana data bersifat UNIQUE. PK hanya boleh 1 pada suatu tabel.

Contoh : Membuat tabel Siswa terdiri dari 4 kolom (NIS, Nama, Alamat dan Kota). PK-nya adalah NIS.

CREATE TABLE Siswa( NIS int NOT NULL, Nama varchar(50), Alamat varchar(200), Kota char(20),

CONSTRAINT PK_NIS PRIMARY KEY (NIS));

Page 23: Basis Data II

2. DDL (Data Defenition Language)

CONSTRAINT FOREIGN KEYConstraint FK adalah pembatasan data dimana data berelasi dengan PK pada tabel lain.

Contoh : Membuat tabel Nilai terdiri dari 3 kolom (Nilai_id, NIS dan Nilai). PK-nya adalah Nilai_id dan FK-nya adalah NIS yang berelasi dengan tabel Siswa.

CREATE TABLE Nilai( Nilai_id int IDENTITY (1,1) NOT NULL, NIS int, Nilai int,

CONSTRAINT PK_NILAI PRIMARY KEY (Nilai_id), CONSTRAINT FK_NIS FOREIGN KEY (NIS) REFERENCES SISWA (NIS));

Page 24: Basis Data II

2. DDL (Data Defenition Language)

NIS NAMA ALAMAT KOTA

123 ALI JL. S.PARMAN NO. 10 JAKARTA

234 BUDI JL. SALAK NO. 5 TANGGERANG

456 CAHYO JL. BALI NO. 11 DEPOK

NILAI_Id NIS NILAI

1 123 80

2 456 70

Page 25: Basis Data II

2. DDL (Data Defenition Language)

CONSTRAINT CHECKConstraint CHECK digunakan untuk membatasi range nilai pada suatu kolom pada saat di entry.

Contoh : Membuat tabel Nilai terdiri dari 3 kolom (Nilai_id, NIS dan Nilai). Dimana Nilai yang di entry harus lebih besar dari 50.

CREATE TABLE Nilai( Nilai_id int IDENTITY (1,1) NOT NULL, NIS int, Nilai int,

CONSTRAINT PK_NILAI PRIMARY KEY (Nilai_id), CONSTRAINT FK_NIS FOREIGN KEY (NIS) REFERENCES SISWA (NIS), CONSTRAINT CHK_Nilai CHECK (Nilai > 50));

Page 26: Basis Data II

2. DDL (Data Defenition Language)

CONSTRAINT DEFAULTConstraint DEFAULT digunakan untuk memasukkan nilai default pada suatu kolom.

Contoh : Membuat tabel Siswa terdiri dari 4 kolom (NIS, Nama, Alamat dan Kota). Dimana nilai default kota adalah Jakarta.

CREATE TABLE Siswa( NIS int NOT NULL, Nama varchar(50), Alamat varchar(200), Kota char(20),

CONSTRAINT PK_NIS PRIMARY KEY (NIS), CONSTRAINT Siswa_Kota DEFAULT ‘Jakarta’);

Page 27: Basis Data II

2. DDL (Data Defenition Language)

ALTER TABLE – memodifikasi tabel

1. Menambah Kolom Baru

Syntax :

ALTER TABLE nama_tabel

ADD Column_name datatype [constraint];

Page 28: Basis Data II

2. DDL (Data Defenition Language)

Contoh :

NIM NAMA KOTA

123 Ali Basuki null

234 Bambang Herdiyansah null

ALTER TABLE SiswaALTER TABLE SiswaADD KOTA varchar(25);ADD KOTA varchar(25);

Bambang Herdiyansah234

Ali Basuki123

NAMANIM Menambahkolom KOTApada tabelSiswa

Page 29: Basis Data II

2. DDL (Data Defenition Language)

ALTER TABLE – memodifikasi tabel

2. Menghapus Kolom

Syntax :

ALTER TABLE nama_tabel

DROP COLUMN Column_name;

Page 30: Basis Data II

2. DDL (Data Defenition Language)

Contoh : NIM NAMA KOTA

123 Ali Basuki null

234 Bambang Herdiyansah null

ALTER TABLE SiswaALTER TABLE SiswaDROP COLUMN KOTA;DROP COLUMN KOTA;

Bambang Herdiyansah234

Ali Basuki123

NAMANIM

Menghapus kolom KOTA pada tabelSiswa

Page 31: Basis Data II

2. DDL (Data Defenition Language)

ALTER TABLE – memodifikasi tabel

3. Mengubah tipe data

Syntax :

ALTER TABLE nama_tabel

ALTER COLUMN column_name data_type;

Page 32: Basis Data II

2. DDL (Data Defenition Language)

Contoh : Field_name datatype

NIM varchar(3)

Nama varchar(30)

ALTER TABLE SiswaALTER TABLE SiswaALTER COLUMN NIM int;ALTER COLUMN NIM int;

Varchar(30)Nama

intNIM

NAMAField_name

Mengubah type data NIM dari varchar menjadi integer.

Page 33: Basis Data II

2. DDL (Data Defenition Language)

ALTER TABLE – memodifikasi tabel

4. Menghapus CONSTRAINT

Syntax :

ALTER TABLE nama_tabel

DROP CONSTRAINT Constrain_name;

Page 34: Basis Data II

2. DDL (Data Defenition Language)

DROP TABLE – menghapus tabel

Syntax :

DROP TABLE nama_tabel;

Contoh : Menghapus tabel Siswa

DROP TABLE Siswa;

Page 35: Basis Data II

2. DDL (Data Defenition Language)

CREATE INDEX – membuat Index tabel

Syntax :

CREATE INDEX index_name ON table_name (column_name);

Contoh : Membuat index Siswa_idx pada tabel Siswa. Yang diindex adalah NIM.

CREATE INDEX Siswa_idxCREATE INDEX Siswa_idx ON Siswa (NIM);ON Siswa (NIM);

Page 36: Basis Data II

2. DDL (Data Defenition Language)

DROP INDEX – menghapus tabel Index

Syntax :

DROP INDEX table_name.index_name;

Contoh : Menghapus index Siswa_idx pada tabel Siswa.

DROP INDEX Siswa.Siswa_idx;DROP INDEX Siswa.Siswa_idx;

Page 37: Basis Data II

3. TIPE-TIPE DATA (Data Types)

  Data type bytes Comments

Integer

tinyint 1 byte   0 s/d 255

smallint 2 byte  -32.768 s/d 32.767

int 4 byte  –2E9 s/d 2E9

bigint 8 byte  –1E308 s/d 1E308

Page 38: Basis Data II

3. TIPE-TIPE DATA (Data Types)

  Data type bytes Comments

Exact numeric

decimal[p[,s]] 5-17  -2E12 s/d 3E324

numeric[p[,s]] 5-17  -2E12 s/d 3E324

Appropiate numeric

float[(n)] 8  –1E308 s/d 1E308

real 4   –2E9 s/d 2E9

Monetarysmallmoney 4   0 s/d 2E9

money 8   0 s/d 1E308

Page 39: Basis Data II

3. TIPE-TIPE DATA (Data Types)

  Data type bytes Comments

Characters

char[(n)] 0-8000 non-Unicode

varchar[(n)] 0-8000 non-Unicode

varchar(max) 0-2 GB non-Unicode

text 0-2 GB non-Unicode

nchar[(n)] 0-8000 Unicode

nvarchar[(n)] 0-8000 Unicode

nvarchar(max) 0-2 GB Unicode

ntext 0-2 GB Unicode

Page 40: Basis Data II

3. TIPE-TIPE DATA (Data Types)

  Data type bytes Comments

Date and timesmalldatetime 4  date

datetime 8 Date & time 

Image image 0-2 GB

XML xml 0-2GB

Binarybinary[(n)] 0-8000

bit 1 T or F

Page 41: Basis Data II

1.Memasukkan data ke dalam tabel

2.Melihat data pada tabel

3.Menghapus data pada tabel

4.Mengupdate data pada tabel

STRUCTURE QUERY LANGUAGE (SQL)

4. DATA MANIPULATION LANGUAGE (DML)

Page 42: Basis Data II

MENGINSERT DATA

Syntax :

INSERT INTO nama_tabel (field-1, field-2, …, field-n)VALUES (‘value-1’, ’value-2’, …, ’value-n’);

ATAU

INSERT INTO nama_tabelVALUES (‘value-1’, ’value-2’, …, ’value-n’);

Page 43: Basis Data II

Contoh :

Create database sisfo; GoUse database sisfo;GoCreate table Karyawan(

Nama varchar(30),Jenkel varchar(1),Kota varchar(15),Kode_Pos int

);go

Page 44: Basis Data II

Contoh :

INSERT INTO karyawan (Nama, Jenkel, Kota, Kode_Pos)VALUES (‘Ahmad Boudowi’, ’L’, ’Bekasi’, 17144);

GO

INSERT INTO karyawanVALUES (‘Sundariwati’, ‘P’, ‘Bandung’, 40123);

GO

INSERT INTO karyawan (Kota, Nama, Jenkel , Kode_Pos)VALUES (‘Bekasi’, ‘Zukarman’,’L’, 17211);GO

Page 45: Basis Data II

Menampilkan Data

1. Menampilkan seluruh data

Syntax :

SELECT * FROM nama_tabel;Contoh :

SELECT * FROM karyawan;

Nama Jenkel Kota Kode_Pos

Ahmad Boudowi L Bekasi 17144

Sundariwati P Bandung 40123

Zukarman L Bekasi 17211

Page 46: Basis Data II

2. Menampilkan data pada kolom tertentu

Syntax :

SELECT column_name FROM nama_tabel;

Contoh :

SELECT Nama, Kota FROM karyawan;

Nama Kota

Ahmad Boudowi Bekasi

Sundariwati Bandung

Zukarman Bekasi

Page 47: Basis Data II

3. Menampilkan data yang berbeda nilaiPada suatu tabel terkadang berisi nilai yang sama dalam satu kolom, maka untuk menampilkan nilai yg berbeda digunakan SELECT DISTINCT.

Syntax :

SELECT DISTINCT column_name FROM nama_tabel;

Contoh :

SELECT DISTINCT Kota FROM karyawan;

Kota

Bandung

Bekasi

Page 48: Basis Data II

4. Menampilkan data menggunakan Clause ORDER BY

Syntax :

SELECT * FROM nama_tabel ORDER BY nama_field [ASC | DESC];

Contoh :

SELECT Nama, Kota FROM karyawanORDER BY Nama DESC;

Nama Kota

Zukarman Bekasi

Sundariwati Bandung

Ahmad Boudowi Bekasi

Page 49: Basis Data II

5. Menampilkan data menggunakan Clause WHERE

Syntax :

SELECT * FROM nama_tabelWHERE <kriteria>;

Contoh :

SELECT Nama, Kota FROM karyawanWHERE Kota = “Bekasi”;

Nama Kota

Ahmad Boudowi Bekasi

Zukarman Bekasi

Page 50: Basis Data II

6. Menampilkan data menggunakan Cluse LIKE

Syntax :

SELECT * FROM nama_tabelWHERE column_name LIKE <criteria>;

Contoh :

SELECT Nama, Kota FROM karyawanWHERE Kota Like “B%”;

Nama Kota

Ahmad Boudowi Bekasi

Zukarman Bekasi

Page 51: Basis Data II

7. Menampilkan data menggunakan Clause Between…And…

Syntax :

SELECT column_name FROM nama_tabelWhere column_namebetween <min_range> and <max_range>;

Contoh :

SELECT * FROM karyawan where Kode_Pos between 17000 and

17300;Nama Jenkel Kota Kode_Pos

Ahmad Boudowi L Bekasi 17144

Zukarman L Bekasi 17211

Page 52: Basis Data II

8. Menampilkan data menggunakan Clause IN

Syntax :

SELECT * FROM nama_tabelWhere <field_criteria>in<expression>;

Contoh :

SELECT nama, kota FROM karyawanwhere kotain(‘Bekasi’, ‘Tanggerang’);

Page 53: Basis Data II

MENGEDIT DATASyntax :

UPDATE nama_tabel SET nama_kolom1=Data_Baru, ..., WHERE <criteria>;

ID_MHS NAMA ALAMAT

1016 EFRIZAL DEPOK

1017 ZAIDA BEKASI

1018 FERDY DEPOK

UPDATE MahasiswaSet Alamat=‘TANGGERANG’WHERE ID_MHS=1016;

ID_MHS NAMA ALAMAT

1016 EFRIZAL TANGGERANG

1017 ZAIDA BEKASI

1018 FERDY DEPOK

Page 54: Basis Data II

Menghapus Data

Syntax:

DELETE FROM nama_tabel WHERE <criteria>;

ID_MHS NAMA ALAMAT

1016 EFRIZAL TANGGERANG

1017 ZAIDA BEKASI

1018 FERDY DEPOK

DELETE FROM MahasiswaWHERE ID_MHS=1016;

Page 55: Basis Data II

1. INNER JOIN

2. OUTER JOIN

• Left Outer Join

• Right Outer Join

3. FULL JOIN

4. UNION & UNION ALL

STRUCTURE QUERY LANGUAGE (SQL)

5. SQL JOINS & SQL UNION

Page 56: Basis Data II

INNER JOIN

Menampilkan hanya data yang berpasangan sajahanya data yang berpasangan saja pada dua atau lebih tabel sesuai kriteria.

Syntax:

SELECT column_name FROM table_name_1 INNER JOIN table_name_2

ON table_name_1.Column_name = table_name_2. Column_name;

Page 57: Basis Data II

NameID Name GenderID GenderID Gender1 Ali 2 1 Female

2 Dedi 0 2 Male

3 Yanti 1 3 Unknown

4 Bambang 2

Employee Gender

SELECT Employee.NameID, Employee.Name, Gender.Gender FROM Employee INNER JOIN Gender ON Employee.GenderID = Gender.GenderID;

NameID Name Gender1 Ali Male

3 Yanti Female

4 Bambang Male

Page 58: Basis Data II

LEFT OUTER JOIN

Menampilkan seluruh data pada left tabel dan dan menampilkan data pada right tabel hanya jika berpasangan.

Syntax:

SELECT column_name FROM table_name_1 LEFT OUTER JOIN table_name_2 ON table_name_1.column_name = table_name2. column_name;

Page 59: Basis Data II

NameID Name GenderID GenderID Gender1 Ali 2 1 Female

2 Dedi 0 2 Male

3 Yanti 1 3 Unknown

4 Bambang 2

Employee Gender

SELECT Employee.NameID, Employee.Name, Gender.Gender FROM Employee LEFT OUTER JOIN Gender ON Employee.GenderID = Gender.GenderID;

NameID Name Gender1 Ali Male

2 Dedi Null

3 Yanti Female

4 Bambang Male

Page 60: Basis Data II

RIGHT OUTER JOIN

Menampilkan seluruh data pada Right tabel dan dan menampilkan data pada Left tabel hanya jika berpasangan.

Syntax:

SELECT column_name FROM table_name_1 RIGHT OUTER JOIN table_name_2 ON table_name_1.column_name = table_name2. column_name;

Page 61: Basis Data II

NameID Name GenderID GenderID Gender1 Ali 2 1 Female

2 Dedi 0 2 Male

3 Yanti 1 3 Unknown

4 Bambang 2

Employee Gender

SELECT Employee.NameID, Employee.Name, Gender.Gender FROM Employee RIGHT OUTER JOIN Gender ON Employee.GenderID = Gender.GenderID;

NameID Name Gender3 Yanti Female

1 Ali Male

4 Bambang Male

Null Null Unknown

Page 62: Basis Data II

FULL JOIN

Menampilkan seluruh data yang seluruh data yang berpasangan berpasangan dandan tidak tidak berpasangan berpasangan pada dua tabel atau lebih.

. Syntax:

SELECT column_name FROM table_name_1 FULL JOIN table_name_2 ON table_name_1.column_name = table_name2. column_name;

Page 63: Basis Data II

NameID Name GenderID GenderID Gender1 Ali 2 1 Female

2 Dedi 0 2 Male

3 Yanti 1 3 Unknown

4 Bambang 2

Employee Gender

SELECT Employee.NameID, Employee.Name, Gender.Gender FROM Employee FULL JOIN Gender ON Employee.GenderID = Gender.GenderID;

NameID Name Gender1 Ali Male

2 Dedi Null

3 Yanti Female

4 Bambang Male

Null Null Unknown

Page 64: Basis Data II

UNION

Perintah UNION digunakan untuk memilih informasi yang berhubungan dari 2 tabel. Untuk menggunakan perintah UNION, tipe data kolom yang dipilih harus sama. UNION hanya memunculkan nilai unik.

Syntax:

SELECT column_name FROM table_name_1 UNION SELECT column_name FROM table_name_2;

Page 65: Basis Data II

ID Nama Kota ID Nama Kota

1 Ali Bekasi 1 Ani Semarang

2 Dedi Jakarta 2 Kiki Jakarta

3 Ani Semarang

Pegawai_1 Pegawai_2

SELECT Nama FROM Pegawai_1UNION SELECT Nama FROM Pegawai_2;

NamaAli

Dedi

Ani

Kiki

Page 66: Basis Data II

UNION ALL

Perintah UNION ALL sama dengan perintah UNION, kecuali bahwa UNION ALL memilih semua nilai sedangkan UNION memilih nilai unik.

Syntax:

SELECT column_name FROM table_name_1 UNION ALL SELECT column_name FROM table_name_2;

Page 67: Basis Data II

ID Nama Kota ID Nama Kota

1 Ali Bekasi 1 Ani Semarang

2 Dedi Jakarta 2 Kiki Jakarta

3 Ani Semarang

Pegawai_1 Pegawai_2

SELECT Nama FROM Pegawai_1UNION ALLSELECT Nama FROM Pegawai_2;

NamaAli

Dedi

Ani

Ani

Kiki

Page 68: Basis Data II

1. Fungsi Agregat

2. Fungsi Operator

3. Fungsi Logika

4. Fungsi String

5. Fungsi Matematik

6. Fungsi Tanggal dan Waktu

STRUCTURE QUERY LANGUAGE (SQL)

6. SQL FUNCTIONS

Page 69: Basis Data II

Fungsi AVG

Mencari nilai rata-rata pada kolom range.

Syntax:

SELECT AVG(nama_kolom) [as alias name] FROM nama_tabel;

1. Fungsi Agregate1. Fungsi Agregate

Page 70: Basis Data II

Berapa rata-rata HargaPesan pada tabel order ?

ID TanggalPesanHargaPesa

nPelanggan

1 2008/11/12 1000 Hansen

2 2008/10/23 1600 Nilsen

3 2008/09/02 700 Hansen

4 2008/09/03 300 Hansen

5 2008/08/30 2000 Jensen

6 2008/10/04 100 NilsenSELECT AVG(HargaPesan) AS RatarataHargaPesan FROM Order;

RatarataHargaPesan

950

Page 71: Basis Data II

Siapa pelanggan yang memiliki harga pesan lebih besar dari rata-rata harga pesan?

ID TanggalPesanHargaPesa

nPelanggan

1 2008/11/12 1000 Hansen

2 2008/10/23 1600 Nilsen

3 2008/09/02 700 Hansen

4 2008/09/03 300 Hansen

5 2008/08/30 2000 Jensen

6 2008/10/04 100 NilsenSELECT Pelanggan FROM OrderWHERE HargaPesan > (SELECT AVG(HargaPesan) FROM Order);

Pelanggan

Hansen

Nilsen

Jensen

Page 72: Basis Data II

Fungsi Count

Menampilkan jumlah baris atau record pada suatu tabel.

Syntax:

SELECT COUNT(nama_kolom) [as alias name] FROM nama_tabel;

Page 73: Basis Data II

Berapa kali pelanggan yang bernama Nilsen memesan barang ?

ID TanggalPesanHargaPesa

nPelanggan

1 2008/11/12 1000 Hansen

2 2008/10/23 1600 Nilsen

3 2008/09/02 700 Hansen

4 2008/09/03 300 Hansen

5 2008/08/30 2000 Jensen

6 2008/10/04 100 NilsenSELECT count(Pelanggan) AS PelangganNilsen FROM OrderWHERE Pelanggan = ‘Nilsen’;

PelangganNilsen

2

Page 74: Basis Data II

Berapa jumlah transaksi yang terjadi ?

ID TanggalPesanHargaPesa

nPelanggan

1 2008/11/12 1000 Hansen

2 2008/10/23 1600 Nilsen

3 2008/09/02 700 Hansen

4 2008/09/03 300 Hansen

5 2008/08/30 2000 Jensen

6 2008/10/04 100 NilsenSELECT count(*) AS [Jumlah Transaksi] FROM Order;

Jumlah Transaksi

6

Page 75: Basis Data II

Fungsi Max

Mencari nilai tertinggi pada kolom range

Syntax:

SELECT max(nama_kolom) [as alias name] FROM nama_tabel;

Page 76: Basis Data II

Berapa harga pesan tertingi ?

ID TanggalPesanHargaPesa

nPelanggan

1 2008/11/12 1000 Hansen

2 2008/10/23 1600 Nilsen

3 2008/09/02 700 Hansen

4 2008/09/03 300 Hansen

5 2008/08/30 2000 Jensen

6 2008/10/04 100 NilsenSELECT max(HargaPesan) AS [Harga Pesan Tertinggi] FROM Order;

Harga Pesan Tertinggi

2000

Page 77: Basis Data II

Fungsi Min

Mencari nilai terendah pada kolom range

Syntax:

SELECT min(nama_kolom) [as alias name] FROM nama_tabel;

Page 78: Basis Data II

Berapa harga pesan terendah ?

ID TanggalPesanHargaPesa

nPelanggan

1 2008/11/12 1000 Hansen

2 2008/10/23 1600 Nilsen

3 2008/09/02 700 Hansen

4 2008/09/03 300 Hansen

5 2008/08/30 2000 Jensen

6 2008/10/04 100 NilsenSELECT min(HargaPesan) AS [Harga Pesan Terendah] FROM Order;

Harga Pesan Terendah

100

Page 79: Basis Data II

Fungsi Sum

Mencari nilai total pada kolom range

Syntax:

SELECT sum(nama_kolom) [as alias name] FROM nama_tabel;

Page 80: Basis Data II

Berapa total harga pesan?

ID TanggalPesanHargaPesa

nPelanggan

1 2008/11/12 1000 Hansen

2 2008/10/23 1600 Nilsen

3 2008/09/02 700 Hansen

4 2008/09/03 300 Hansen

5 2008/08/30 2000 Jensen

6 2008/10/04 100 NilsenSELECT sum(HargaPesan) AS [Total Harga Pesan] FROM Order;

Total Harga Pesan

5700

Page 81: Basis Data II

Fungsi operator terdiri dari :

+ : Operator Penjumlahan

- : Operator Pengurangan

* : Operator Perkalian

/ : Operator Pembagian

2. Fungsi Operator2. Fungsi Operator

Page 82: Basis Data II

Berapa penjumlahan nilai untuk masing-masing siswa ?

Nama Nilai_1 Nilai_2

Andri 80 70

Beny 75 80

Nardi 90 75

Deny 65 75

SELECT Nama, Nilai_1, Nilai_2, nilai_1 + nilai_2 as SELECT Nama, Nilai_1, Nilai_2, nilai_1 + nilai_2 as Jumlah_Nilai FROM Nilai;Jumlah_Nilai FROM Nilai;

Contoh : Tabel NilaiContoh : Tabel Nilai

Nama Nilai_1 Nilai_2 Jumlah_Nilai

Andri 80 70 150

Beny 75 80 155

Nardi 90 75 165

Deny 65 75 140

Page 83: Basis Data II

Fungsi Logika terdiri dari :

IF : Fungsi logika seleksi

&& : Fungsi logika AND (DAN)

|| : Fungsi logika OR (ATAU)

3. Fungsi Logika3. Fungsi Logika

Page 84: Basis Data II

Diberikan beasiswa bagi mahasiswa yang memiliki IP >= 3,00 dan jumlah absensi < 5

Nama IP Jumlah_Absensi

Andri 3,25 6

Beny 3,15 3

Nardi 2,85 0

Deny 3,00 0

SELECT Nama, IP, Jumlah_Absensi, if ( IP >= 3,00 && SELECT Nama, IP, Jumlah_Absensi, if ( IP >= 3,00 && Jumlah_Absensi < 5, ‘Beasiswa’, ‘-’ ) as Keterangan FROM Jumlah_Absensi < 5, ‘Beasiswa’, ‘-’ ) as Keterangan FROM Nilai;Nilai;

Contoh : Tabel NilaiContoh : Tabel Nilai

Nama IP Jumlah_Absensi Keterangan

Andri 3,25 6 -

Beny 3,15 3 Beasiswa

Nardi 2,85 0 -

Deny 3,00 0 Beasiswa