1 / 23

SQL

SQL. Relasi dalam basisdata Perusahaan. Query 1. Dapatkan tanggal lahir dan alamat dari pegawai yang namanya ‘John B Smith’. Query 2. Dapatkan nama dan alamat dari semua pegawai yang bekerja pada departemen “Research”. Query 3.

fairly
Download Presentation

SQL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SQL

  2. Relasi dalam basisdata Perusahaan

  3. Query 1 • Dapatkan tanggal lahir dan alamat dari pegawai yang namanya ‘John B Smith’

  4. Query 2 • Dapatkan nama dan alamat dari semua pegawai yang bekerja pada departemen “Research”.

  5. Query 3 • Untuk setiap proyek yang berlokasi di “Stafford”, dapatkan nomor proyek, nomor departemen pengontrol dan nama akhir manager departemen, alamat dan tgl lahir.

  6. Query 4 • Dapatkan nama pegawai dan tanggal lahirnya beserta nama tanggungan dan tanggal lahirnya.

  7. Query 5 • Dapatkan semua nomor dan nama proyek yang mengandung pegawai dengan nama akhir ”Smith” sebagai pekerja proyek atau sebagai menager dari departemen yang mengontrol proyek.

  8. SQL juga bisa terdapat query bersarang (nested). • Dapatkan semua nomor dan nama proyek yang mengandung pegawai dengan nama akhir “Smith” sebagai pekerja proyek atau sebagai menager dari departemen yang mengontrol proyek.

  9. Fungsi EXIST • Fungsi EXIST dalam SQL digunakan untuk memeriksa apakah hasil dari suatu query bersarang yang berkorelasi adalah kosong (tidak ada tuple yan memenuhi) atau terdapat beberapa tuple yang memenuhi. • Query 13 dapat ditulis lagi dengan fungsi EXISTS sebagai berikut • Dapatkan nama dari tiap karyawan yang mempunyai tanggungan yang namanya sama deengan nama depan dari karyawan yang bersangkutan SELECT FNAME, LNAME FROM EMPLOYEE E WHEREEXIST (SELECT * FROM DEPENDENT WHERE E.SSN=ESSN AND E.FNAME=DEPENDENT_NAME)

  10. Fungsi EXIST • Query 15: Dapatkan nama dari karyawan yang tidak mempunyai tanggungan.SELECT FNAME, LNAMEFROM EMPLOYEEWHERE NOT EXISTS (SELECT *FROM DEPENDENTWHERE SSN=ESSN) • Dalam Query 15 query bersarang yang berkorelasi mendapatkan semua tuple dari relasi DEPENDENT yang berelasi dengan tiap tuple dari EMPLOYEE. Bila tidak ada yang exist maka tuple dipilih

  11. Fungsi EXIST • Query 16 : Dapatkan nama manager yang mempunyai paling sedikit satu tanggungan SELECT FNAME, LNAME FROM EMPLOYEE WHEREEXISTS (SELECT * FROM DEPENDENT WHERE SSN=ESSN) AND EXISTS (SELECT * FROM DEPARTMENT WHERE SSN=MGRSSN)

  12. HIMPUNAN EKSPLISIT • Dimungkinkan untuk menggunakan himpunan eksplisit dalam klausa WHERE dari pada memakai query bersarang • Query 17: Dapatkan SSN dari karyawan yang bekerja pada project nomer 1,2, atau 3. SELECT DISTINCT ESSNFROM WORKS_ONWHERE PNO IN (1, 2, 3)

  13. NULL dalam SQL • SQL mengijinkan querie untuk menguji apakah nilainya NULL (hilang, tidak terdefinisi, atau tidak dapat diaplikasikan) • SQL menggunakan IS atau IS NOT untuk membandingkan NULL karena tiap nilai NULL berbeda dengan nilai NULL yang lain, sehingga perbandingan kesamaan tidak cocok digunakan. • Query 18: Dapatkan nama dari karyawan yang tidak mempunyai supervisor. SELECT FNAME, LNAMEFROM EMPLOYEEWHERE SUPERSSN IS NULL • Jika kondisi join ada, tuple dengan nilai NULL untuk atribut join tidak dimasukkan dalam hasil

  14. Relasi Join • Relasi join dapat ditentukan dalam klausa FROM • Seperti relasi yang lain tetapi relasi ini adalah hasil join • Pengguna dapat membuat spesifikasi tipe dari join yang diinginkan (regular "theta" JOIN, NATURAL JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN, CROSS JOIN, etc)

  15. Relasi Join (Query 19) SELECT FNAME, LNAME, ADDRESSFROM EMPLOYEE, DEPARTMENTWHERE DNAME='Research' AND DNUMBER=DNO Dapat ditulis kembali menjadi : SELECT FNAME, LNAME, ADDRESSFROM (EMPLOYEE JOIN DEPARTMENT ON DNUMBER=DNO)WHERE DNAME='Research’ Atau menjadi:SELECT FNAME, LNAME, ADDRESSFROM (EMPLOYEE NATURAL JOIN DEPARTMENTAS DEPT(DNAME, DNO, MSSN, MSDATE)WHERE DNAME='Research’

  16. Aggregate function • Aggregate function dalam SQL adalah sebagai berikut: • SUM : jumlah dari atribut • MAX : nilai terbesar dari atribut • MIN : nilai terkecil dari atribut • AVG : rata-rata nilai dari atribut • COUNT : banyaknya tuple yang memenuhi dari atribut

  17. Contoh • Hitung jumlah gaji semua pegawai, gaji minimum, gaji maksimun dan rata-rata gajinya. • SELECT SUM (SALARY), MAX (SALARY), MIN (SALARY), AVG (SALARY) FROM EMPLOYEE

  18. Contoh • Untuk setiap departemen, dapatkan nomor departemen, banyaknya pegawai dalam departemen dan rata-rata gaji mereka. SELECT DNO, COUNT (*), AVG (SALARY) FROM EMPLOYEE GROUP BY DNO

  19. Pernyataan Update pada SQL • INSERT : untuk menyisipkan harga baru dalam suatu tabel. • DELETE : untuk menghapus tuple tertentu dalam suatu tabel. • UPDATE : untuk mengganti harga tertentu dalam suatu tabel.

  20. Contoh INSERT INTO EMPLOYEE VALUES (‘Richard’,’K’,’Marini’,’653298653’,’30-DEC-52’,’98 Oak Forest, Katy, TX’,’M’,’37000,’987654321’,4)

  21. View • Perintah VIEW pada SQL digunakan untuk menurunkan tabel lain. View merupakan virtual tabel artinya tidak disimpan secara fisik dalam disk. Ada 2 perintah view dalam SQL yaitu: • CREATE VIEW : membuat view • DROP VIEW : menghapus view

  22. Contoh CREATE VIEW bekerja pada AS SELECT FNAME, LNAME, PNAME, HOURS FROM EMPLOYEE, PROJECT, WORK_ON WHERE SSN = ESSN AND PNO = PNUMBER

More Related