SQL I. TPI4210 Sistem dan Teknologi Informasi

dokumen-dokumen yang mirip
SQL Lanjut. TPI4210 Sistem dan Teknologi Informasi

Oracle Academic Initiative

PERTEMUAN 11 SQL(lanjutan): Queries, Constraints & Triggers. (Chap. 5 Ramakrishnan)

B a s i s D a t a. Tatap MUka. SQL Query & Agregate Function. Arif Basofi PENS

PERTEMUAN 5 PENGGUNAAN FUNGSI GROUP

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

Basis Data II. Pertemuan Ke-6 (Function) Noor Ifada

Oracle Academic Initiative

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

BAB IV PENGENALAN OPERATOR DASAR

STRUCTURE QUERY LANGUAGE DDL & DML

Basis Data I. Pertemuan Ke-11 (SQL Part 2) Noor Ifada.

MODUL 5. Advanced Query : Pemilihan dan Pengurutan Data PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

SUBQUERY-2. MI2154 SQL LANJUT Dedy Rahman Wijaya, S.T., M.T., OCA

B a s i s D a t a - 1 C H A P T E R SQL. Function & Agregat. Copyright 2005 PENS-ITS

M0564-Pengantar Sistem Basisdata 12/ 1

RENCANA PEMBELAJARAN

PERTEMUAN 2 PEMILIHAN DAN PENGURUTAN DATA

Kegiatan Praktikum Sistem Basis Data Kelompok B

Pertemuan 10 Structure Query Language(SQL)

Bab 3. Query Lanjutan POKOK BAHASAN: TUJUAN BELAJAR:

SQL (STRUCTURED QUERY LANGUAGE)

Basis Data 1. Dasar SQL Query. Arif Basofi, S.Kom. MT. Teknik Informatika, PENS

PERTEMUAN 6 SUBQUERY

MODUL V DATA MANIPULATION LANGUAGE (DML) 1

Praktikum Sistem Basis Data

PERTEMUAN 10. SQL : Data Manipulation (Chap. 6 Conoly)

Oracle Academic Initiative

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

Pertemuan 11. Bahasa Query Terapan Lanjutan

STRUCTURED QUERY LANGUAGE (SQL) (Implementasi menggunakan MySQL)

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

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

Data Manipulation Language (DML)

MODUL 8. Sub Query Pada baris dan Kolom PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

SQL (Structured Query Language)

Modul 3 : Query Penggabungan Tabel

Riyanto

BAHASA QUERY KOMERSIAL

PERTEMUAN 5 & 6 MEMBUAT QUERY

Oracle Academic Initiative

STRUCTURE QUERY LANGUAGE

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) PROGRAM STUDI : DIII MANAJEMEN INFORMATIKA Semester : 4

Structured Query Language

15-Jan DATABASE - MySQL. Database. Constraints. Tujuan: Memahami perintah-perintah dasar DDL dan DML

Pernyataan Data Manipulation Language (DML) SQL

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

Pengantar basis data Manipulasi SQL

Berikut ini akan diberikan contoh-contoh penggunaan fungsi agregasi dalam klausa SQL: Contoh 1 Menampilkan banyaknya record dosen select count ( * )

MODUL 3 PENGELOMPOKAN, PENGURUTAN, KRITERIA DATA, AGREGASI

B a s i s D a t a - 1 C H A P T E R. SQL Lanjutan 1. Copyright 2005 PENS-ITS

Latihan : Sebutkan record berapa saja yang akan ditampilkan berdasarkan perintah berikut :

Praktikum Basis Data 13 Structure Query Language 1

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

Praktikum Basis Data 2017 TE UM MODUL 6 SUB QUERY

PRAKTIKUM 4 PENGAMBILAN DATA LANJUT

BAHASA QUERY KOMERSIAL

DATABASE - MySQL. Muhammad Zen S. Hadi, ST. MSc.

BAHASA QUERY KOMPLEKS

MENAMPILKAN DATA DARI BANYAK TABEL

SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG

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

BAHASA QUERY KOMERSIAL

Single-row Function dan Group Function

PRAKTIKUM 8 SINGLE ROW & GROUP FUNCTION

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

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

Rencana Pelaksanaan Pembelajaran

Sub Query. Rosa Ariani Sukamto Blog: Website:

TABLE JOIN SQL SERVER 2005

SUBQUERY VIEW JOIN PRAKTIKUM BERKAS DAN BASIS DATA 2010/2011. Rizki Arif Firdaus


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

STRUCTURE QUERY LANGUAGE (SQL)

DAFTAR ISI. DAFTAR ISI... 1 PRAKATA Pengenalan dan Lingkungan Kerja MySQL Tujuan... 4 Dasar Teori... 4 Praktik... 5

Kontrak Kuliah. Perintah Manipulasi Data. Edi Sugiarto, S.Kom, M.Kom

Sistem Basis Data. Pertemuan 13 SQL INSERT & SELECT TUJUAN

PRAKTIKUM 5 SISTEM BASIS DATA JOIN

Macam - Macam Perintah Pada SQL

BAB 11 FUNGSI-FUNGSI SQL SERVER

BAB III STRUCTURED QUERY LANGUAGE (SQL)

Komponen-Komponen SQL a. Data Definition Language (DDL) : Digunakan untuk mendefinisikan data dengan menggunakan perintah : create, drop, alter.

KSI B ~ M.S. WULANDARI

Q U E L. Contoh : CREATE S(SN = TEXT(5),SNAME=TEXT(20), QUEL dan QBE Hal. 1 dari 15

Mahasiswa memahami fungsi-fungsi lain di dalam SQL Mahasiswa memahami tentang operasi agregasi Mahasiswa mampu mengaplikasikan operasi agregasi

Modul Praktikum II Matakuliah Basis Data 2

PANDUAN LENGKAP: MICROSOFT ACCESS 2010

Tutorial Database Oracle Chapter3 Menampilkan Data Menggunakan Perintah SQL SELECT

Pertemuan 11 Structure Query Language(SQL)

BAB V. Basis Data Darmawan Satyananda 74

Tujuan : Praktikan mampu untuk memanipulasi data dan mampu mencari data (Retrieval)

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

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

Pemrograman Basis Data Berbasis Web

IKG2I4 / Software Project I

PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2

BAB 2 : Dasar Penulisan Statemen SQL Sasaran Mengetahui kemampuan dari SQL SELECT Statement Dapat membuat perintah SQL dengan SELECT Statement

MENAMPILKAN DATA MENGGUNAKAN SQL SELECT

LAPORAN PRAKTIKUM BASIS DATA LANJUT I

Statement DDL Create database drop database Create table drop table alter table

Transkripsi:

SQL I TPI4210 Sistem dan Teknologi Informasi

Summary of Basic SQL Retrievals Bentuk dasar perintah SELECT: SELECT <nama column atau * (semua kolom)> FROM <nama tabel atau nama alias> WHERE <syarat dan/atau ketentuan join> ORDER BY <nama kolom> Operasi ini mungkin melibatkan operator perbandingan <, <=, =, >, >=,<> Dalam pernyataan majemuk, digunakan operator Boolean AND, OR atau NOT ORDER BY digunakan untuk melakukan pengurutan

Subqueries Subquery adalah sebuah operasi subselect yang mengakomodasi query dalam query, sehingga hasil dari satu query dapat digunakan dalam syarat untuk query lain Bentuk dasar subquery SELECT-FROM-WHERE, sama seperti query lain. Hanya, operasi SELECT dalam subquery hanya boleh berisi satu pernyataan dan tidak boleh menghasilkan suatu nama kolom baru Subquery ditulis dalam kurung

Subquery Example select surname, initials from student where course_code in (select coursecode from course where faculty_id = FTP'); Query diatas akan menampilkan daftar surname dan initial dari setiap siswa yang mengambil course dari FTP, tanpa memperhatikan jurusannya

Predicates and Search Conditions Syarat pencarian digunakan dengan WHERE dan HAVING untuk menyatakan data yang akan ditampilkan Syarat pencarian berisi predicates yang bisa diletakkan dalam kurung dan terhubung melalui operator Boolean Predicate adalah pernyataan benar-salah, yang mengevaluasi: - true atau false (dua nilai) - true, false atau unknown (tiga nilai) - ada tujuh jenis predicates

Boolean Truth Tables for Three-valued Logic

Predicates 1 - Comparison Predicates Perbandingan: = sama dengan!= <> tidak sama dengan >, <, <=, >= Bentuk umum: <pernyataan> operator perbandingan <pernyataan> Contoh: customer_id = C34

Predicates 2 - The LIKE Predicate Digunakan untuk operasi pencocokan pola (pattern matching) dari tipe karakter data, bentuk umumnya: columnname [not] like pattern Operator yang digunakan: - % (percent) untuk nol atau lebih karakter apapun. - _ (underscore) untuk satu sembarang karakter Contoh: untuk mencocokkan data tipe string dalam kolom surname, yang dimulai dengan Ari (misalnya Ari, Arik, Arifianto) surname like Ari%

Predicates 3 - The BETWEEN Predicate Untuk mengantisipasi penggunaan predicate perbandingan: x >= y AND x <= z Digunakan: x between y and z

Predicates 4 - The IN Predicate Bentuk umum: x IN (l,m,n,...z) Berarti x = l atau x = m atau..x = z Juga bisa dinyatakan dalam expression [NOT] IN (subquery)

Consider the Base Table pupil... Select * from pupil; Surname Initials Suburb Year_mark Green GG Oakwood 56 Brown BB Elmwood 87 Gold GG Ashwood 68 White WW Elmwood 59 Violet VV Ashwood 77 Blue BB Elmwood 76 Black BB Oakwood 80 Red RR Oakwood 89 Orange OO Ashwood 75 Yellow YY Oakwood 64

Example of the IN Predicate select * from pupil where suburb in (select suburb from pupil where surname = 'Brown') ; Surname Initials Suburb Year_mark Brown BB Elmwood 87 White WW Elmwood 59 Blue BB Elmwood 76

Predicates 5: The Any/All Predicate Bentuk umum: any/all operator <(subquery)> Operator yang bisa digunakan: =any, =all!=any,!=all <any, <all >any, >all <=any, <=all >=any, >=all Operator any (subquery) bernilai benar jika satu atau lebih nilai hasil subquery menyebabkannya bernilai benar Operator all (subquery) bernilai benar hanya jika semua nilai hasil subquery menyebabkannya bernilai benar

Predicates 6 - The EXISTS Predicate Bentuk umum: [NOT] EXISTS (subquery) Bernilai benar jika hasil subquery tidak kosong select surname, initials from student where exists (select * from course where coursecode = student.course_code and faculty = FTP'); Akan menampilkan daftar surname dan initial semua siswa yang mengukuti mata kuliah dalam FTP

Predicates 7 - The IS NULL Predicate Bentuk umum: IS [NOT] NULL Predicate ini diperlukan karena operator = tidak bisa digunakan untuk menguji nilai yang bernilai null

The Set Functions Fungsi yang beroperasi dalam seluruh nilai kolom Biasanya disebut built-in function Format: set_function([distinct all]exspression) Set functions adalah count, sum, avg, max, min Distinct, mengeliminasi duplikasi nilai dalam fungsi All, mengakomodasi seluruh nilai Distinct tidak perlu digunakan dalam fungsi min dan max

MAX( ) and MIN( ) select max(year_mark) from student where suburb = 'OAKWOOD ; dan select min(year_mark) from student where suburb = 'OAKWOOD ; Akan menampilkan nilai tertinggi dan terendah bagi siswa yang tinggal di OAKWOOD

The COUNT( ) Function Fungsi count menampilkan jumlah entry dalam sebuah kolom, setiap kolom atau * bisa digunakan select count(*) from pupil where suburb = 'OAKWOOD' ; Query diatas akan menampilkan jumlah dari baris dimana kolom suburb memiliki nilai yang disyaratkan

The Effect of DISTINCT select count(suburb) as total_stu from pupil ; Select count(distinct suburb) as total_subs from pupil ; Total_stu (jumlah siswa) dan total_subs (jumlah suburb) adalah contoh tampilan nama kolom baru <expression> as <assigned column name>

AVG( ) with, and without, Assigned Column Names Select avg(year_mark) as avg_mark from pupil ; select avg(year_mark) from pupil ;

AVG( ) Used in a Subquery select * from pupil where year_mark > (select avg(year_mark) from pupil) ; Surname Initials Suburb Year_mark Black BB Oakwood 80 Blue BB Elmwood 76 Brown BB Elmwood 87 Orange OO Ashwood 75 Red RR Oakwood 89 Violet VV Ashwood 77 User: tampilkan siswa yang nilainya lebih baik dari rata-rata kelas

Add a RESTRICTION Condition in both the query and the subquery... select * from pupil where suburb = 'OAKWOOD' and year_mark > (select avg(year_mark) from pupil where suburb = 'OAKWOOD'); Surname Initials Suburb Year_mark Black BB Oakwood 80 Red RR Oakwood 89 User: tampilkan siswa dari OAKWOOD yang nilainya lebih baik dari rata-rata seluruh siswa dari OAKWOOD

A Computed Column: When the built-in functions are not enough select surname, (year_mark * 100 / 120) as percent_mark from pupil ; Surname Percent_mark Green 46 Brown 72 Gold 56 White 49 Violet 64 Blue 63 Black 66 Red 74 Orange 62 Yellow 53 User: Jika nilai maksimal adalah 120, nyatakan nilai siswa dalam persentase

Joining as Table to Itself - correlation names required. select * from pupil p1, pupil p2 where p1.suburb = p2.suburb and p1.surname!= p2.surname and p1.year_mark > 80 ; Surname Initials Suburb Year_m Surname Initials Suburb Year_m Brown BB Elmwood 87 White WW Elmwood 59 Brown BB Elmwood 87 Blue BB Elmwood 76 Red RR Oakwood 89 Green GG Oakwood 56 Red RR Oakwood 89 Black BB Oakwood 80 Red RR Oakwood 89 Yellow YY Oakwood 64 User: Tampilkan dalam pasangan siswa dari suburb yang sama. Dalam setiap pasangan harus ada siswa dengan nilai lebih dari 80

Consider the TEACHER Table select * from teacher ; Fam_name Givname Suburb Quals Rose Rose Elmwood BA Camelia Camelia Oakwood BSc Liliy Liliy Ashwood BBus Daisy Daisy Oakwood BBus Poppy Poppy Ashwood BA Violet Violet Ashwood BSc

The PUPIL and TEACHER tables are not union-compatible, but vertical subsets from each are... select fam_name, suburb from teacher union select surname, suburb from pupil ; Tabel pupil berisi 10 baris, teacher 6 baris. Tabel yang dihasilkan dari operasi UNION berisi 15 baris karena ada seorang guru dan siswa yang sama-sama bernama VIOLET dan tinggal di ASHWOOD Fam_name Black Blue Brown Camelia Daisy Gold Green Lily Orange Poppy Red Rose Violet White yellow Suburb OAKWOOD ELMWOOD ELMWOOD OAKWOOD OAKWOOD ASHWOOD OAKWOOD ASHWOOD ASHWOOD ASHWOOD OAKWOOD ELMWOOD ASHWOOD ELMWOOD OAKWOOD

SQL queries need to be adequately tested, just like any other program... select fam_name, suburb from teacher where suburb = 'ASHWOOD' union select surname, suburb from pupil where suburb = 'ASHWOOD ; Fam_name Gold Lily Orange Poppy Violet Suburb ASHWOOD ASHWOOD ASHWOOD ASHWOOD ASHWOOD User: Tampilkan semua guru dan murid yang tinggal di ASHWOOD. Operasi UNION yang menghilangkan duplikasi, tidak menampilkan siswa maupun guru bernama VIOLET yang tinggal di ASHWOOD