bab 3 sql server

Embed Size (px)

Citation preview

  • 7/22/2019 bab 3 sql server

    1/10

    Pemrograman Visual Basic Client/ServerMuhammad Miftakhul Amin, S. Kom.

    17

    BAB IIISTRUCTURED QUERY LANGUAGE (SQL)

    3.1 Tujuana. Mahasiswa mampu menggunakan perintah SQL untuk memanipulasi data.b. Mahasiswa mampu mengolah data menggunakan operasi JOIN untuk

    merelasikan table.

    3.2 Materia. SELECTION QUERYb. ACTION QUERY

    3.3 Alat dan Bahana. PC yang terhubung dalam sebuah jaringanb. MS. SQL Server 2000c. MS. Visual Basic 6.0

    3.4 Teori3.4.1 Komponen SQL

    Berdasarkan fungsinya, bahasa basis data (SQL/Query) dibagimenjadi 3 komponen utama, yaitu :1. DDL (Data Definition Language)

    DDL adalah bagian dari SQL yang dipergunakan untukmendefinisikan data dan objek database. Perintah yang tergolong DDL

    adalah CREATE, ALTER, dan DROP.2. DML (Data Manipulation Language)DML adalah bagian dari SQL yang dipergunakan untuk memanipulasidata dalam tabel/record-record dari table. Jenis perintah yang tergolongDML adalah SELECT, INSERT, UPDATE, dan DELETE, sertatambahan dari T-SQL (COMMIT dan ROLLBACK).

    3. DCL (Data Control Language)DCL adalah bagian dari SQL yang dipergunakan untuk mengontrolhak-hak akses dalam objek database SQL server, jenis perintah iniadalah GRANT, REVOKE, serta tambahan dari T-SQL(DENY).

    3.4.2 JOINMekanisme join dipergunakan untuk mencari data dari beberapa tabel

    berdasarkan hubungan logis tabel-tabel tersebut. SQL Servermenyediakan beberapa mekanisme join sebagai berikut :

    1. Inner JoinMerupakan himpunan dalam yaitu hasil gabungan dari dua buahtabel yang saling berelasi untuk semua record yang berpasangan.

    2. Full Outer JoinFULL JOIN mengembalikan semua baris dari kedua table.

  • 7/22/2019 bab 3 sql server

    2/10

    Pemrograman Visual Basic Client/ServerMuhammad Miftakhul Amin, S. Kom.

    18

    3. Left Outer JoinOuter Join kiri menghasilkan semua baris dari table di sebelah kiripernyataan, dan baris-baris bersesuaian dari table sebelah kanan

    pernyataan.4. Right Outer Join

    Ouer Join kanan menghasilkan semua baris dari table di sebelahkanan pernyataan, dan baris-baris yang bersesuaian dari table disebelah kiri pernyataan.

    5. UNIONUnion dipergunakan untuk menggabungkan dua buah operasi queryke dalam satu buah cursor.

    3.4.3 INSERTPerintah INSERT dipergunakan untuk memasukkan data ke dalamtabel. Dengan syntax sebagai berikut :

    I NSERT [ I NTO]{ table_name WI TH ( < t abl e_hi nt _l i mi t ed > [ . . . n ] )

    | view_name| rowset_function_limited

    }

    { [ ( column_list ) ]{ VALUES

    ( { DEFAULT | NULL | expression } [ ,. . . n] )| derived_table| execute_statement

    }}

    Tulis perintah SQL berikut dengan menggunakan Query Analyzer.

    I NSERT I NTO r Mahasi swa(NPM, Nama, t mpLahi r , t gl Lahi r , sex,Al amat , I DJ ur usan) VALUES( ' 01120054' , ' M. Anat asar i ' ,' Lampung' , ' 12/ 17/ 1980' , ' L' , ' J l . Kepat i han 28 A' , 22)

    3.4.4 UPDATEPerintah UPDATE dipergunakan untuk memperbaharui data yang adadi table. Dengan syntax sebagai berikut :

    Syntax

    UPDATE{table_name WI TH ( < t abl e_hi nt_l i mi ted > [ . . . n ] )| view_name| rowset_function_limited

    }SET{ column_name = { expression | DEFAULT | NULL }| @variable = expression| @variable = column = expression } [ ,. . . n ]

  • 7/22/2019 bab 3 sql server

    3/10

    Pemrograman Visual Basic Client/ServerMuhammad Miftakhul Amin, S. Kom.

    19

    { { [ FROM { < t abl e_sour ce > } [ ,. . . n ] ]

    [ WHERE< search_condi t i on > ] }

    |[ WHERE CURRENT OF{ { [ GLOBAL ] cursor_name } | cursor_variable_name }] }[ OPTI ON ( < query_hi nt > [ ,. . . n ] ) ]

    Tulis perintah SQL berikut dengan menggunakan Query Analyzer.

    UPDATE r Mahasi swaSET Nama= Mergi Ayu Mel i a Novi t a ,

    Sex= PWHERE NPM= 01120054

    3.4.5 DELETEPerintah DELETE dipergunakan untuk menghapus data yang ada ditable. Syntaxnya adalah sebagai berikut :

    Syntax

    DELETE[ FROM ]

    { table_name WI TH ( < tabl e_hi nt _l i mi ted > [ . . . n ] )| view_name| rowset_function_limited

    }

    [ FROM { < t abl e_sour ce > } [ ,. . . n ] ]

    [ WHERE{ < sear ch_condi t i on >| { [ CURRENT OF

    { { [ GLOBAL ] cursor_name }| cursor_variable_name

    }] }

    }][ OPTI ON ( < query_hi nt > [ ,. . . n ] ) ]

    Tulis perintah SQL berikut dengan menggunakan Query Analyzer.

    DELETEFROM r Mahasi swaWHERE NPM= 01120054

  • 7/22/2019 bab 3 sql server

    4/10

  • 7/22/2019 bab 3 sql server

    5/10

    Pemrograman Visual Basic Client/ServerMuhammad Miftakhul Amin, S. Kom.

    21

    Gambar 3.2 Window SQL Query Analizer

    3.5.2 Bekerja dengan SQL di Query AnalyzerUntuk menjalankan Query Analyzer dengan menekan tanda seru (!)atau menekan tombol F5.1. Ketikkan perintah-perintah berikut :

    SELECT * FROM r Mahasi swa

    Maka akan menampilkan seluruh data(seluruh field) dari tabelmahasiswa.

    SELECT NPM, Nama FROM r Mahasi swa

    Akan menampilkan data NPM dan Nama dari table mahasiswa.

    Klausa SELECT biasanya diikuti oleh klausa sebagai berikut :

    Klausa Penjelasan

    AVG sama denganCOUNT menghitung jumlah recordMAX mengetahui nilai maximalMIN mengetahui nilai minimumSUM menghitung jumlah dataDISTINCT mengambil hanya satu data dari record kembarTOP mengambil baris teratasAS mengganti caption dari field

    Contoh :- Menampilkan jumlah mahasiswa di table mahasiswa.

    SELECT COUNT( *) AS j uml ahMHS FROM r Mahasi swa

    - Menampilkan data 3 teratas dari table mahasiswaSELECT TOP 3 * FROM r Mahasi swa

  • 7/22/2019 bab 3 sql server

    6/10

    Pemrograman Visual Basic Client/ServerMuhammad Miftakhul Amin, S. Kom.

    22

    2. Menggungakan klausa WHEREKlausa WHERE biasanya diikuti oleh operator sebagai berikut :

    Operator Penjelasan= sama dengan, != tidak sama dengan< kurang dari> lebih besar dari= lebih besar dari atau sama dengan!> tidak lebih besar dari!< tidak kurang dariBETWEEN antara dua nilai yang ditentukanLIKE menyusaikan nilai yang ditentukanIS NULL Nilainya adalah NULLIN nilainya ditentukan dalam sebuah daftarNOT negasi dari sebuah oprator perbandinganAND merangkai criteria pencarianOR memastikan bahwa criteria pencarian adalah ekslusif

    Contoh :- Menampilkan data mahasiswa yang NPM nya 03030065

    SELECT *FROM r Mahasi swaWHERE NPM=03030065

    - Menampilkan data mahasiswa selain NPM nya 03030065SELECT *

    FROM r Mahasi swaWHERE NPM03030065- Menampilkan data mahasiswa yang mengandung nama budi

    SELECT *FROM r Mahasi swaWHERE Nama Li ke %budi %

    - Menampilkan data mahasiswa yang ada di jurusan 12,13SELECT *FROM r Mahasi swaWHERE NPM I N( 12, 13)

    - Menampilkan data dosen yang NIK nya antara 080505051sampai 080505054SELECT *FROM r DosenWHERE NI K BETWEEN ' 080505051' AND ' 080505054'

    - Menampilkan data dosen yang gelarnya S. Kom dan berjeniskelamin laki-lakiSELECT *FROM r DosenWHERE Nama LI KE ' %S. Kom%' AND sex=' L'

  • 7/22/2019 bab 3 sql server

    7/10

    Pemrograman Visual Basic Client/ServerMuhammad Miftakhul Amin, S. Kom.

    23

    3.5.3 JOIN1. INNER JOIN

    - Menampilkan data Jurusan yang ada di seluruh fakultas

    SELECT r Fakul t as. Fakul t as, r J ur usan. J ur usanFROM r Fakul t as, r J ur usanWHERE r Fakul t as. I DFakul t as=r J ur usan. I DFakul t asAND r Fakul t as. Fakul t as= STMI K

    Atau dengan perintah

    SELECT r Fakul t as. Fakul t as, r J ur usan. J ur usanFROM r Fakul t as I NNER J OI N r J ur usanON r Fakul t as. I DFakul t as=r J ur usan. I DFakul t as

    - Menampilkan data jurusan yang ada di fakultas STMIKSELECT r Fakul t as. Fakul t as, r J ur usan. J ur usanFROM r Fakul t as I NNER J OI N r J ur usanON r Fakul t as. I DFakul t as=r J ur usan. I DFakul t asAND r Fakul t as. Fakul t as=' STMI K'

    Atau dengan perintah

    SELECT r Fakul t as. Fakul t as, r J ur usan. J ur usanFROM r Fakul t as, r J ur usanWHERE r Fakul t as. I DFakul t as=r J ur usan. I DFakul t asAND r Fakul t as. Fakul t as=' STMI K'

    - Menampilkan data mahasiswa yang ada di Jurusan ManajemenInformatikaSELECT rMahasi swa. *, r J ur usan. J ur usan

    FROM r Mahasi swa, r J ur usanWHERE r Mahasi swa. I DJ urusan=r J urusan. I DJ urusanAND r J urusan. J urusan=' Manaj emen I nf ormat i ka'

    Catatan Penting :Perhatikan kunci relasi antar table, karena dua table akan bisa direlasikan jikamempunyai kunci yang sama, dan kunci table mana yang dipilih sebagai penentuankondisi nilainya.

    2. LEFT JOIN- Menampilkan data dosen dan mata kuliah yang diampu

    SELECT r Dosen. NI K, r Dosen. Nama, t Ampu. I DMKFROM r Dosen LEFT J OI N t AmpuON r Dosen. NI K=t Ampu. NI K

    - Menampilkan mahasiswa yang KRSSELECT r Mahasi swa. NPM, r Mahasi swa. Nama,t KRS. t hakademi k, t KRS. smt akademi kFROM r Mahasi swa LEFT J OI N t KRSON r Mahasi swa. NPM=t KRS. NPMORDER BY r Mahasi swa. NPM

  • 7/22/2019 bab 3 sql server

    8/10

    Pemrograman Visual Basic Client/ServerMuhammad Miftakhul Amin, S. Kom.

    24

    Akan terlihat bahwa data dari table sebebelah kanan akan diisidengan NULL karena mahasiswa yang bersangkutan belumKRS, sementara data dari table sebelah kiri akan ditampilkan

    seluruhnya.

    Gambar 3.3 Hasil Perintah Left Join

    3. RIGHT JOIN- Menampilkan data mata kuliah yang didistribusikan untuk

    diampu oleh dosen.

    SELECT t KRS. t hAkademi k, t KRS. smt Akademi k,r Matakul i ah. I DMK, r Matakul i ah. NamaMKFROM t KRS RI GHT J OI N r Matakul i ahON t KRS. I DMK=r Mat aKul i ah. I DMK

    Akan terlihat bahwa data dari table sebebelah kiri akan diisidengan NULL karena mata kuliah yang bersangkutan belumdidistribusikan, sementara seluruh data dari table sebelah kanan(rMataKuliah) akan ditampilkan seluruhnya.

    Gambar 3.4 Hasil Perintah Right Join

  • 7/22/2019 bab 3 sql server

    9/10

    Pemrograman Visual Basic Client/ServerMuhammad Miftakhul Amin, S. Kom.

    25

    4. FULL JOIN

    - Menampilkan seluruh data mata kuliah baik yang telah

    didistribusikan atau belum.

    SELECT t KRS. t hAkademi k, t KRS. smt Akademi k,r Mat akul i ah. I DMK, r Matakul i ah. NamaMKFROM t KRS FULL J OI N r Matakul i ahON t KRS. I DMK=r Mat aKul i ah. I DMK

    3.5.4 UNION- Menampilkan seluruh data mahasiswa yang telah KRS atau belum.

    SELECT r Mahasi swa. NPM, r Mahasi swa. NamaFROM r Mahasi swa I NNER J OI N t KRS

    ON r Mahasi swa. NPM=t KRS. NPMUNI ONSELECT r Mahasi swa. NPM, r Mahasi swa. NamaFROM r Mahasi swa FULL J OI N t KRSON r Mahasi swa. NPM=t KRS. NPMORDER BY rMahasi swa. NPM

    3.5.5 SUB QUERY- Menampilkan data seluruh mahasiswa yang ada di Jurusan

    Manajemen Informatika.

    SELECT r Mahasi swa. *

    FROM r Mahasi swaWHERE r Mahasi swa. I DJ urusan I N ( SELECT I DJ urusan

    FROM r J ur usanWHERE J urusan=' Manaj emen I nf or mat i ka' )

    3.6 Tugas1. Tampilkan jumlah jurusan yang ada di fakultas STMIK dengan INNER

    JOIN.2. Tampilkan jumlah jurusan yang ada di fakultas STMIK dengan SUB

    QUERY.3. Tampilkan jumlah jurusan yang ada di fakultas STIE dengan INNER

    JOIN.

    4. Tampilkan jumlah jurusan yang ada du fakultas STIE dengan SUBQUERY.5. Tampilkan seluruh mahasiswa yang ada di Fakultas SMIK dengan INNER

    JOIN.6. Tampilkan seluruh mahasiswa yang ada di Fakultas SMIK dengan SUB

    QUERY.7. Tampilkan seluruh data mahasiswa yang ada di Fakultas STIE dengan

    INNER JOIN.

  • 7/22/2019 bab 3 sql server

    10/10

    Pemrograman Visual Basic Client/ServerMuhammad Miftakhul Amin, S. Kom.

    26

    8. Tampilkan seluruh data mahasiswa yang ada di Fakultas STIE denganSUB QUERY.

    9. Tampilkan seluruh data nama mata kuliah, NIK dosen, nama dosen yang

    yang mengampu mata kuliah dengan LEFT JOIN.10.Tampilkan seluruh data nama mata kuliah, NIK dosen, nama dosen yang

    yang mengampu mata kuliah dengan RIGHT JOIN.11.Tampilkan seluruh data nama mata kuliah, NIK dosen, nama dosen yang

    yang mengampu mata kuliah dengan FULL JOIN.12.Tampilkan seluruh data mahasiswa yang sudah KRS.