SQL
Basis Data-1
C H A P T E R
SQL - Basic
Copyright © 2005 PENS-ITS
SQL
Basis Data-1
Objectives
Tujuan: Mengenal dan memahami struktur dasar perintah SQL Database
Copyright © 2005 PENS-ITS
SQL
Basis Data-1
S Q L - Pendahuluan •
•
• •
•
Bahasa user yang meminta pada database untuk menyediakan suatu data yang diperlukan menggunakan tipe bahasa khusus yang disebut dengan Structured Query Language (SQL atau eja:"sequel)" . SQL adalah bahasa fungsional, yaitu suatu bahasa yang memungkinkan user untuk menentukan tipe dari sesuatu yang ingin mereka dapatkan. Bahasa fungsional tersebut tidak sama dengan bahasa pemrograman yang lain semisal C++, pascal atau COBOL. Bahasa-bahasa tersebut disebut sebagai bahasa ‘prosedural’ karena membutuhkan penulisan program atau prosedur untuk mendapatkan suatu informasi. Sebaliknya, SQL secara eksplisit mendefinisikan hasil akhir yang diinginkan, sedangkan metode untuk mendapatkan data tersebut dilakukan sendiri oleh database. Copyright © 2005 PENS-ITS
SQL
Basis Data-1
S Q L - Pendahuluan •
• •
Bentuk SQL Query umum: SELECT [DISTINCT] < attribute-list > FROM < table-list > WHERE < condition> Attribute- list: adalah daftar nama atribut yang berada dalam table-list dan nilainya didapatkan melalui query. Table- list: adalah daftar relasi yang memiliki nama (dengan domain
variabel pada tiap nama yang diberikan) untuk memproses query. • •
Condition: adalah statemen pembandingan dalam SQL Query yang mengkombinasikan operator pembandingan AND, OR dan NOT. Sedangkan DISTINCT adalah keyword yang bersifat optional (boleh ditulis, boleh tidak) yang mengindikasikan suatu hasil query yang tidak memiliki duplikat. Secara default, didapatkan duplikasi pada hasil query (tanpa distinct). Copyright © 2005 PENS-ITS
SQL
Basis Data-1
S Q L - Pendahuluan •
Pemilihan data dapat dilakukan dengan menggunakan contoh kode seperti berikut : SELECT * FROM emp WHERE empid = 39334;
•
Statement SQL diatas meminta untuk menyediakan semua data dari table EMP dimana nilai yang diminta ada pada kolom EMPID yang berisi nilai 39334.
Copyright © 2005 PENS-ITS
SQL
•
Basis Data-1
S Q L - Pendahuluan Sedangkan Blok kode berikut ini adalah bahasa pemrograman prosedural yang mengilustrasikan fungsi yang sama dengan statement SQL diatas.
Copyright © 2005 PENS-ITS
SQL
Basis Data-1
Penggunaan Alias pada SQL Query • • • •
Dalam SQL, terdapat operator dasar pembanding: =, <, <=, >, >= dan <> Nama Alias diperlukan jika terdapat field dengan nama yang sama, muncul pada statemen perbandingan yang terdapat pada klausa WHERE. Penggunaan nama alias penting sekali dan hampir selalu digunakan. Berikut ini SQL Query yang menggunakan nama alias : Menampilkan nama dan alamat dari semua pegawai yang bekerja pada department ‘Research’. SELECT EMPLOYEE.FNAME,EMPLOYEE.LNAME,EMPLOYEE.ADDRESS FROM EMPLOYEE, DEPARTMENT WHERE DEPARTMENT.DNAME = ‘Research’ AND DEPARTMENT.DNUMBER = EMPLOYEE.DNUMBER;
ATAU: SELECT E.FNAME,E.LNAME,E.ADDRESS FROM EMPLOYEE E, DEPARTMENT D WHERE D.DNAME = ‘Research’ AND D.DNUMBER=E.DNUMBER; Copyright © 2005 PENS-ITS
SQL
Basis Data-1
Konsep Dasar SQL Query •
Sedangkan DISTINCT adalah keyword yang bersifat optional (boleh ditulis, boleh tidak) yang mengindikasikan suatu hasil query yang tidak memiliki duplikat. Secara default, didapatkan duplikasi pada hasil query (tanpa distinct).
•
Bentuk SQL Query umum: SELECT [DISTINCT] < attribute-list > FROM < table-list > WHERE < condition>
Copyright © 2005 PENS-ITS
SQL
Basis Data-1
Konsep Dasar SQL Query Berikut contoh SQL Query: 1. Tampilkan tanggal lahir dan alamat dari semua pegawai yang bernama ‘John B. Smith’. SELECT BDATE,ADDRESS FROM EMPLOYEES WHERE FNAME=‘John’ AND MINIT=‘B’ AND LNAME=‘Smith’;
Sama juga pada ekspresi aljabar relasional: BDATE,ADDRESS(FNAME=‘John’ AND MINIT
= ‘B’ AND LNAME = ‘Smith’
(EMPLOYEES))
Copyright © 2005 PENS-ITS
SQL
Basis Data-1
Konsep Dasar SQL Query 2. Tampilkan nama dan alamat dari semua pegawai yang bekerja pada department ‘Research’. SELECT E.FNAME, E.LNAME, E.ADDRESS FROM EMPLOYEE E,DEPARTMENT D WHERE E.DNAME = ‘Research’ AND D.DNUMBER = E.DNO;
Sama juga pada ekspresi aljabar relasional: RESEARCH_DEPT ← DNAME=‘Research’ (DEPARTMENT) RESEARCH_EMPS ← (RESEARCH_DEPT DNUMBER=DNO (EMPLOYEES) RESULT ← FNAME,LNAME,ADDRESS (RESEARCH_EMPS)
Copyright © 2005 PENS-ITS
SQL
Basis Data-1
Konsep Dasar SQL Query 3. Untuk setiap project yang berlokasi di ‘Stafford’, tampilkan nomor project, nomor department yang mengontrol, last name manager department, alamat dan tgl lahir. SELECT P.PNUMBER,P.DNUM,E.LNAME,E.ADDRESS,E.BDATE FROM PROJECT P,DEPARTMENT D,EMPLOYEE E WHERE P.PLOCATION = ‘Stafford’ AND P.DNUM = D.DNUMBER AND D.MGRSSN = E.SSN;
Sama juga pada ekspresi aljabar relasional: ….ada di tugas kemarin… ;-)
Copyright © 2005 PENS-ITS
SQL
Basis Data-1
Question? End of Session
Copyright © 2005 PENS-ITS
SQL
Basis Data-1
ALJABAR RELASIONAL TUGAS: 1. Cari no pegawai, nama pegawai dan alamat untuk semua pegawai yang memiliki hubungan keluarga. 2. Cari nama dan alamat untuk semua pegawai yang bekerja pada departemen “Research”. 3. Tampilkan nomor project, nomor department, nama manager department, alamat dan tanggal lahir, untuk project yang berlokasi di “Stafford”. 4. Cari nama pegawai yang bekerja pada semua project yang dikontrol oleh nomor department 5.
Copyright © 2005 PENS-ITS
SQL
Basis Data-1
Copyright © 2005 PENS-ITS