C H A P T E R SQL - Basic
Objectives Tujuan: Mengenal dan memahami struktur dasar perintah SQL Database
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.
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).
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.
S Q L - Pendahuluan Sedangkan Blok kode berikut ini adalah bahasa pemrograman prosedural yang mengilustrasikan fungsi yang sama dengan statement SQL diatas.
Penggunaan Alias pada SQL Query Dalam SQL, terdapat operator dasar pembanding: =, <, <=, >, >= dan <> NamaAlias 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;
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>
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))
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)
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 ;-)
Question? End of Session
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.