SQL (Structured Query Language) Oleh : Cosmas Haryawan.

Slides:



Advertisements
Presentasi serupa

Advertisements

Yuswanto Modifikasi Data.
SQL.
SQL (Structured Query Language)
SQL (Struktured Query Language)
PERINTAH SQL.
BAHASA QUERY TERAPAN Sub Materi : Structured Query Language
Praktikum Database Query Tingkat Lanjut Abdul Kadir.
SQL Basis Data.
SQL.
Manajemen Basis Data menggunakan SQL Server
Strctured Query Language
Data Manipulation Language (Aggregate Function)
Jalankan script sql berikut : sekolah.sql
Microsoft SQL Server DDL dan DML dasar
Fungsi Agregat fungsi yang mengambil suatu kumpulan nilai-nilai sebagai input dan mengembalikan satu nilai sebagai output Select fungsi agregat SUM/AVG/MIN/MAX/COUNT.
Data Definition Language dan Data Manipulation Language
SQL (Structured Query Language) Materi Pertemuan
MANAJEMEN BASIS DATA Pertemuan 6 SQL - SELECT.
P E R T E M U A N 12 SISTEM BASIS DATA.
Data Types Data Definition Language Referential Constraint SQL Query
SQL: DML (2) Basis Data Pertemuan 07.
BAHASA QUERY TERAPAN OLEH : HARSITI, ST.
SQL (Structured Query Language)
Dr. KUSRINI, M.KOM 66. Select * From nama_tabel [Where Kondisi] [Order by Kolom_x] Atau Select Kolom_1,Kolom_2,..Kolom_n From nama_tabel [Where Kondisi]
MANAJEMEN BASIS DATA Pertemuan 8 SUBQUERY.
SQL (Structured Query Language)
STRUCTURED QUERY LANGUAGE (SQL)
Data Manipulation Language
Data Manipulation Language Presented by : Herianto.
PTIK-13 PERANCANGAN DATABASE (2) MENGOLAH DATA MENJADI INFORMASI Dosen: Arya Yudhi W.,S.Kom.,M.Kom.
SQL (Structure Query Language) Pertemuan 5 – Reporting Aggregate Data Using the Group Function sy urf gm ail. co m.
Pengenalan Database MySQL
Modul SBD-2 …….. SQL Server

Pertemuan ke-sekian Structure Query Language (SQL) Lanjut
PEMASARAN BERBASIS WEB
SQL (Structured Query Language)
Query.
Structure Query Language (SQL)
PENGANTAR STRUCTURED QUERY LANGUAGE (SQL)
SQL.
Query.
Manajemen Basis Data menggunakan SQL Server
Structured Query Language
SQL (Structured Query Language)
EXIT KD 3.4 “ Fungsi-Fungsi Agregasi “. MATERI Disusun Oleh :
PEMASARAN BERBASIS WEB
Stucture Query Language
Connect to the Server - Putty
Stucture Query Language
QUERY SQL Modul Query.
PENGANTAR STRUCTURED QUERY LANGUAGE (SQL)
SQL (Structured Query Language)
Management Information System
Perintah Manipulasi Data
Jalankan script sql berikut : sekolah.sql
Rekayasa Perangkat Lunak (Materi 2 Database)
MODUL 4 MENAMPILKAN DATA DARI SATU TABEL
Data Manipulation Language (DML)
Pemrograman Internet Database.
Biodata…… Nama : Muhammad Yunus Alamat : Getap Asal : Sakra Lotim
MODUL 4 MENAMPILKAN DATA DARI SATU TABEL
Pengenalan mySQL database
Stucture Query Language
Basis Data Bab 3 Structured Query Language (SQL).
Stucture Query Language
DATA MANIPULATION LANGUAGE
Structured query language (sql)
BAHASA BASIS DATA Data Manipulation Languange
Transcript presentasi:

SQL (Structured Query Language) Oleh : Cosmas Haryawan

Pengantar SQL adalah bahasa standar dalam basis data yang digunakan untuk melakukan manipulasi data. Standardisasi bahasa ini dilakukan oleh ANSI tahun 86, 89,92 dan 99, dimana tiap perubahan tahun dilakukan peningkatan kemampuan SQL. Pada perkembangan saat ini standar yang paling banyak digunakan adalah standar ANSI 92. Hampir semua DBMS menggunakan SQL sebagai fasilitas untuk memanipulasi data seperti Oracle, SQLServer, MySQL, PostgreSQL, Foxpro dsb.

Fungsi SQL Meskipun awalnya hanya merupakan bahasa untuk memanipulasi data, pada perkembangannya SQL juga dapat digunakan untuk melakukan definisi data maupun control (security) terhadap data. Sehingga bahasa Query ini dibagi menjadi 3 bagian :  DDL (Data Definition Language)  DML (Data Definition Language)  DCL (Data Control Language)

Materi Untuk Materi kali ini, pembahasan lebih difokuskan untuk DML dan lebih khusus lagi perintah SELECT Perintah SELECT adalah perintah yang paling banyak dipakai pada saat melakukan pemrograman basis data Perintah SELECT juga mempunyai variasi yang sangat banyak  Fokus Materi : SELECT 1 tabel

Bentuk Umum SELECT daftar_field_yang_akan_ditampilkan FROM nama_tabel [ WHERE kriteria_data_yang_akan_ditampilkan ]  Hasil dari perintah SELECT adalah suatu resource atau Record Set yang berbentuk baris dan Kolom

SELECT SELECT daftar_field_yang_akan_ditampilkan Field yang akan ditampilkan :  Nama Field dari tabel  Tanda * (asterik/bintang)  Semua Field  Konstanta  Ekspresi  Function  Aggregate Function

FROM FROM nama_tabel Nama_tabel adalah nama dari tabel yang fieldnya akan ditampilkan Nama_tabel bisa terdiri dari 1 tabel, bisa juga lebih dari 1 tabel (akan dibahas di materi lanjutan)

WHERE [ WHERE kriteria_data_yang_akan_ditampilkan ] Penggunaan Tanda [….] artinya opsional  Perintah WHERE ini bisa ada bisa juga tidak Kriteria data :  Syarat dari data yang akan ditampilkan, biasanya berisi suatu ekspresi relasi atau ekspresi logika.  Hasil dari Kriteria bernilai Boolean  Benar (True) / Salah (False)

Contoh Data | nip | nama | kota | GAJI | | 001 | TOTOK | YOGYA | | | 002 | ANDI | SOLO | | | 003 | RUDI | YOGYA | | | 004 | SITI | KLATEN | | | 005 | TITIK | JAKARTA | | | 006 | DONI | SOLO | |

Contoh : SELECT nip,nama,kota,gaji FROM pegawai  Akan menghasilkan : | nip | nama | kota | GAJI | | 001 | TOTOK | YOGYA | | | 002 | ANDI | SOLO | | | 003 | RUDI | YOGYA | | | 004 | SITI | KLATEN | | | 005 | TITIK | JAKARTA | | | 006 | DONI | SOLO | |

Contoh : SELECT * FROM pegawai  Akan menghasilkan : | nip | nama | kota | GAJI | | 001 | TOTOK | YOGYA | | | 002 | ANDI | SOLO | | | 003 | RUDI | YOGYA | | | 004 | SITI | KLATEN | | | 005 | TITIK | JAKARTA | | | 006 | DONI | SOLO | | Hasil sama dengan perintah sebelumnya, karena tanda * berarti menampilkan semua field Karena tabel pegawai tersebut berisi 4 buah field, maka dengan perintah SELECT *, akan menampilkan keempat field yang ada

Contoh : SELECT kota FROM pegawai | kota | | YOGYA | | SOLO | | YOGYA | | KLATEN | | JAKARTA | | SOLO |

DISTINCT Agar tidak ada nilai kembar, maka pada select bisa digunakan perintah DISTINCT SELECT DISTINCT kota FROM pegawai | kota | | YOGYA | | SOLO | | KLATEN | | JAKARTA |

EKSPRESI Suatu Ekspresi perhitungan / persamaan dapat secara langsung disertakan dalam Statemen SELECT : SELECT nama, gaji, gaji FROM pegawai | NAMA | GAJI | GAJI | | TOTOK | | | | ANDI | | | | RUDI | | | | SITI | | | | TITIK | | | | DONI | | |

EKSPRESI… Untuk Menganti Nama Kolom hasil Ekspresi gunakan Statemen AS : SELECT nama, gaji, gaji AS gajibaru FROM pegawai | NAMA | GAJI | GAJIBARU | | TOTOK | | | | ANDI | | | | RUDI | | | | SITI | | | | TITIK | | | | DONI | | |

KONSTANTA Suatu Konstanta baik berupa charater maupun angka bisa langsung disertakan dalam statemen SELECT : SELECT ‘stmik akakom’ AS kantor, nama, gaji FROM pegawai | kantor | nama | gaji | | stmik akakom | TOTOK | | | stmik akakom | ANDI | | | stmik akakom | RUDI | | | stmik akakom | SITI | | | stmik akakom | TITIK | | | stmik akakom | DONI | |

FUNCTION Suatu Fungsi (bawaan database server) bisa langsung disertakan dalam statemen SELECT : SELECT LEFT(nama,2) AS initial, nama FROM pegawai | initial | nama | | TO | TOTOK | | AN | ANDI | | RU | RUDI | | SI | SITI | | TI | TITIK | | DO | DONI |

FUNCTION… SELECT gaji, if(gaji>250000,'OKE',if(gaji>200000,'LUMAYAN', 'PAYAH')) as komentar FROM pegawai; | gaji | komentar | | | PAYAH | | | OKE | | | OKE | | | PAYAH | | | PAYAH | | | LUMAYAN | Catatan : Untuk Fungsi yang bisa digunakan, tergantung database server yang dipakai

Aggregate Function Fungsi standar (ada di semua DBMS) untuk melakukan penghitungan dengan pengelompokan tertentu Misal :  SUM  untuk menjumlahkan  COUNT  untuk mencacah  MAX  untuk menentukan nilai terbesar  MIN  untuk menentukan nilai terkecil  AVG  untuk menentukan nilai rata-rata

Aggregate Function … SELECT SUM(gaji) AS total FROM pegawai | total | | | SELECT COUNT(*) AS cacah FROM pegawai | cacah | | 6 |

Aggregate Function… Beberapa DBMS bisa menggabungkan Statemen DISTINCT dengan Aggregate Function, Misal MYSQL SELECT COUNT(kota) FROM pegawai; | count(kota) | | 6 | SELECT COUNT(DISTINCT kota) FROM pegawai; | count(distinct kota) | | 4 |

WHERE WHERE digunakan untuk memilah data sesuai kondisi atau kriteria tertentu Kriteria yang digunakan akan menghasilkan nilai boolean (True/False) Kriteria selalu menggunakan operator relasi Terkadang digabung dengan operator Logika, operator aritmatika, atau gabungan ketiganya

Operator relasi Beberapa operator relasi yang biasa digunakan pada saat akan dibutuhkan suatu kriteria tertentu untuk menampilkan data adalah : OperatorArti =Sama dengan >Lebih Besar >=Lebih Besar atau sama dengan <Lebih Kecil <=Lebih Kecil atau sama dengan <>Tidak Sama Dengan LIKEMengandung suatu kata/huruf tertentu BETWEENRentang antara dua nilai INTerdapat dalam daftar tertentu

Operator Logika dan Aritmatika Operator Logika yang sering digunakan adalah :  AND, OR dan NOT Operator Aritmatika (kelengkapannya tergantung DBMS yang digunakan), a.l:  *, /, +, -, %

Contoh : mysql> SELECT * FROM pegawai WHERE nip = '002'; | nip | nama | kota | GAJI | | 002 | ANDI | SOLO | | mysql> SELECT * FROM pegawai WHERE gaji > ; | nip | nama | kota | GAJI | | 002 | ANDI | SOLO | | | 003 | RUDI | YOGYA | |

Contoh : mysql> SELECT * FROM pegawai WHERE nama LIKE '%TI%'; | nip | nama | kota | GAJI | | 004 | SITI | KLATEN | | | 005 | TITIK | JAKARTA | | mysql> SELECT * FROM pegawai -> WHERE gaji BETWEEN AND ; | nip | nama | kota | GAJI | | 001 | TOTOK | YOGYA | | | 005 | TITIK | JAKARTA | | | 006 | DONI | SOLO | |

Contoh : mysql> SELECT * FROM pegawai WHERE 0.1 * gaji > 30000; | nip | nama | kota | GAJI | | 002 | ANDI | SOLO | | | 003 | RUDI | YOGYA | | mysql> SELECT nama,kota FROM pegawai -> WHERE kota IN ('YOGYA','SOLO'); | nama | kota | | TOTOK | YOGYA | | ANDI | SOLO | | RUDI | YOGYA | | DONI | SOLO |

Contoh : mysql> SELECT * FROM pegawai WHERE RIGHT(nama,2) = 'DI'; | nip | nama | kota | GAJI | | 002 | ANDI | SOLO | | | 003 | RUDI | YOGYA | | BANDINGKAN DENGAN : mysql> SELECT * FROM pegawai WHERE nama LIKE '%DI'; | nip | nama | kota | GAJI | | 002 | ANDI | SOLO | | | 003 | RUDI | YOGYA | |

Contoh : mysql> SELECT nama, kota, gaji FROM pegawai -> WHERE kota = 'YOGYA' AND gaji > ; | nama | kota | gaji | | RUDI | YOGYA | | BANDINGKAN DENGAN : mysql> SELECT nama, kota, gaji FROM pegawai -> WHERE kota = 'YOGYA' OR gaji > ; | nama | kota | gaji | | TOTOK | YOGYA | | -> gaji < | ANDI | SOLO | | -> kota <> ‘YOGYA’ | RUDI | YOGYA | |

Pengelompokan Apabila diinginkan dapat ditampilkan suatu hasil query berdasar kelompok tertentu. Biasanya perintah ini digabungkan dengan suatu perintah aggregate function. Statemen yang digunakan adalah GROUP BY

Contoh : mysql> SELECT kota, SUM(gaji) AS total_gaji -> FROM pegawai GROUP BY kota; | kota | total_gaji | | JAKARTA | | | KLATEN | | | SOLO | | | YOGYA | | mysql> SELECT kota, COUNT(*) AS jumlah_peg FROM pegawai -> GROUP BY kota; | kota | jumlah_peg | | JAKARTA | 1 | | KLATEN | 1 | | SOLO | 2 | | YOGYA | 2 |

Pengurutan Untuk Melakukan Pengurutan hasil Query bisa digunakan Statemen ORDER BY Bentuk Umum :  ORDER BY kunci_pengurutan [ASC][DESC] ASC  Urut Naik (A – Z) DESC  Urut Turun (Z – A) Jika tanpa ASC / DESC maka secara default akan dilakukan pengurutan ASC

Contoh : mysql> SELECT * FROM pegawai ORDER BY nip DESC; | nip | nama | kota | GAJI | | 006 | DONI | SOLO | | | 005 | TITIK | JAKARTA | | | 004 | SITI | KLATEN | | | 003 | RUDI | YOGYA | | | 002 | ANDI | SOLO | | | 001 | TOTOK | YOGYA | | mysql> SELECT kota, SUM(gaji) AS total_gaji FROM pegawai -> GROUP BY kota ORDER BY total_gaji; | kota | total_gaji | | KLATEN | | | JAKARTA | | | SOLO | | | YOGYA | |