Modul SQL Server
Modul SQL Server
SQL BASIC Tujuan: Mengenal dan memahami struktur dasar perintah SQL Database S Q L - Pendahuluan Bahasa user yang meminta (request) 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. Bentuk SQL Query umum: SELECT [DISTINCT] < attribute-list >
FROM < table-list > WHERE < condition> Attribute- list: adalah daftar nama atribut/kolom table yang berada dalam tablelist dan nilainya didapatkan melalui query. Table- list: adalah daftar table 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 duplikasi data. Secara default, didapatkan duplikasi pada hasil query (tanpa distinct). SQL dengan pemilihan data dapat dilakukan dengan menggunakan klausa WHERE pada contoh SQL 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. Sedangkan Blok kode berikut ini adalah bahasa pemrograman prosedural yang mengilustrasikan fungsi yang sama dengan statement SQL diatas.
PERINTAH SELECT DENGAN TANDA * (ASTERISK) Tanda * dalam perintah SELECT berfungsi untuk menampilkan semua data pada semua kolom dalam table database. Contoh: SELECT * FROM EMPLOYEES; Hasilnya:
PERINTAH SELECT PADA KOLOM TERTENTU Untuk menampilkan satu atau beberapa kolom tertentu atau bahkan pada urutan kolom tertentu saja dapat dilakukan dengan perintah SELECT dengan pilihan atribut kolom yang diinginkan. Contoh: SELECT firstname, lastname, birthdate FROM EMPLOYEES; Hasilnya:
MENAMPILKAN DATA SECARA URUT Untuk menampilkan data secara urut pada kolom tertentu, dapat digunakan perintah ORADER BY. Secara default ORDER BY akan mengurutkan secara ASCENDING (urut naik), sebaliknya mengurutkan secara DESCENDING (urut menurun). Syntax sebagai berikut: SELECT [DISTINCT] < attribute-list > FROM < table-list > [WHERE < condition>] ORDER BY column_name ASC or DESC Contoh: Tampilkan data nama department berdasarkan huruf abjad. SELECT firstname, lastname, birthdate FROM EMPLOYEES ORDER BY firstname; Hasilnya:
EKSPRESI ARITMETIKA PADA SQL QUERY Ekspresi aritmetika dalam SQL, dapat menggunakan operator:
Eksrepsi aritmetika dapat diterapkan pada klausa SELECT. Contoh: SELECT productname, unitprice, unitprice+100 FROM PRODUCTS;
NILAI NULL PADA SQL QUERY Hasil SQL Query ada kemungkinan menghasilkan nilai NULL. Nilai NULL adalah nilai unavailable, unassigned, unknown, atau inapplicable NULL tidak sama dengan nilai NOL (, zero) atau spasi kosong (blank space). Nilai NULL jika digunakan pada operasi aritmetik tetap akan bernilai NULL. Contoh : SELECT customerid, shipregion FROM ORDERS WHERE shipregion IS NULL
PENGGUNAAN KOLOM ALIAS PADA SQL QUERY Kolom alias : Memberikan nama lain kolom Berguna saat melakukan kalkulasi aritmetika
Gunakan tanda petik (tunggal / dobel tergantung DBMS yang digunakan), jika terdapat spasi atau karakter khusus dalam alias. Contoh1 : SELECT firstname AS "NAMA DEPAN", lastname "NAMA BELAKANG", birthdate "TGL LAHIR" FROM EMPLOYEES
MEMBATASI DATA PADA SQL QUERY Untuk membatasi data pada SQL query dapat menggunakan operator pembanding atau Logika pada klausa WHERE:
Contoh3: SELECT productname, unitprice FROM PRODUCTS WHERE unitprice BETWEEN 5 AND 8
Kondisi LIKE : LIKE digunakan untuk mencari kondisi karakter string yang cocok Pencocokan dengan menggunakan: % : menunjukkan nol atau sembarang karakter _ : menunjukkan satu karakter yang memenuhi Contoh : SELECT firstname FROM EMPLOYEES WHERE firstname LIKE 'A%'
Contoh : SELECT productname, unitprice FROM PRODUCTS WHERE productname LIKE 'C%' AND unitprice <=20
Contoh : SELECT productname, unitprice FROM PRODUCTS WHERE productname LIKE 'C%' OR unitprice <=20
Contoh : SELECT PRODUCTNAME, SUPPLIERID FROM PRODUCTS WHERE SUPPLIERID NOT IN (4,5,6)
Contoh 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))