SlideShare uma empresa Scribd logo
1 de 34
Structure Query Language (SQL)




SQL

SQL (baca SEQUEL) pertama kali didefinisikan oleh Chamberlin (IBM Research Laboratory, San
Jose, California). Karena kemudahanya untuk mengakses data, maka SQL cepat menjadi populer,
sehingga banyak DBMS yang memiliki fasilitas SQL untuk mengakses data.

Terdapat berbagai dialek SQL yang berbeda satu dengan yang lain. Pada bab ini akan dibicarakan
dialek SQL yang standard.

Perintah-perintah dalam SQL dapat dikelompokkan menjadi 2 kelompok:

    • DDL (Data Definition Language) dan

    • DML (Data Manipulation Language)




Diktat Kuliah Basis Data                           1-1
Structure Query Language (SQL)




1. DDL (Data Definition Language)

        membuat DATABASE,TABLE

        merubah tabel

        membuat index

        menghapus tabel dan index



2. DML (Data Manipulation Language)

        tambah data

        update data

        hapus data

        query data




Diktat Kuliah Basis Data              1-2
Structure Query Language (SQL)




MEMBUAT DATABASE

CREATE DATABASE Nama_database;
Contoh:
CREATE DATABASE DBMahasiswa;

USE DATABASE DBMAHASISWA;




Diktat Kuliah Basis Data         1-3
Structure Query Language (SQL)




MEMBUAT TABEL

CREATE TABLE Nama_tabel

([NamaKolom Typedata{NOT NULL}]....)



Contoh:



CREATE TABLE TRANSKRIP

(NO_MHS                    INTEGER      NOT NULL,

NO_MK CHAR(6) NOT NULL,

NILAI                      SMALLINT);



Create Table MAHASISWA

(NoMHS Integer                 NOT NULL,


Diktat Kuliah Basis Data                            1-4
Structure Query Language (SQL)




NamaMHS varchar(30),

TglLahir DATE,

Alamat Varchar(50),

Primary key(NoMHS));




Diktat Kuliah Basis Data   1-5
Structure Query Language (SQL)




MERUBAH TABEL


ALTER TABLE Nama_tabel

ADD NamaKolom              Typedata



Contoh:

ALTER TABLEMAHASISWA

ADD Alamat char(25);




Diktat Kuliah Basis Data              1-6
Structure Query Language (SQL)




MEMBUAT INDEX


CREATE {UNIQUE} INDEX NamaIndex

ON Nama Tabel

UNIQUE Jika nilai pada kolom yang diindex terdapat beberapa nilai yang ditampilkan hanyalah
satu nilai saja

ASC Urutan dari Kecil-Besar (Naik)

DESC            Urutan dari Besar-Kecil (Turun)

Default         ASC



Contoh:

CREATE INDEX IDXMHS

ON Mahasiswa (NO_MHS)


Diktat Kuliah Basis Data                           1-7
Structure Query Language (SQL)




MENGHAPUS DATABASE,TABEL & INDEX


DROP DATABASE dbMahasiswa

DROP TABLE Nama_tabel;

DROP INDEX Nama_Index;


MENAMBAH DATA KE TABEL


INSERT INTO Nama_tabel {([Namakolom]...)}

VALUES ([konstan]...)



INSERT INTO Nama_tabel {([Namakolom]...)}

SELECT ... FROM....


Diktat Kuliah Basis Data                    1-8
Structure Query Language (SQL)




Contoh:

Insert Into Transkrip

(NOMHS, KDMK, NILAI) VALUES (2930,’MSM160’,80)

Insert Into Transkrip

VALUES (2930,’MSM160’, 80)



Insert Into NewTranskrip

Select * From Transkrip

Where KDMK <> ‘MSM 100’



Jumlah kolom dalam insert into = Jumlah kolom dalam SELECT

Type data kolom-kolom dalam Insert Into = tipe data kolom-kolom dalam SELECT


Diktat Kuliah Basis Data                          1-9
Structure Query Language (SQL)




MENGHAPUS DATA


DELETE FROM NamaTabel

        {WHERE Kondisi}

Contoh:

Delete

From transkrip;



Delete

From transkrip

Where NoMhs = 3001;




Diktat Kuliah Basis Data   1-10
Structure Query Language (SQL)




MENGUPDATE DATA

UPDATE NamaTabel

SET [Namakolom =[ Ekspresi]]...

{WHERE Kondisi}



Contoh:

UPDATE MataKuliah

Set NamaMK = ‘Program Terstruktur’

Where KdMk = ‘MSM 200’;



UPDATE Transkrip

Set Nilai = Nilai + 10;

Where KDMK = ‘MSM 260’


Diktat Kuliah Basis Data             1-11
Structure Query Language (SQL)




QUERY DATA


SELECT {DISTINCT| ALL} [*| [Ekspresikolom]...]

FROM [Nama Tabel]....

{WHERE Kondisi}

{GROUP By [Nama Kolom]...

{HAVING Kondisi}}

{ORDER By [URUTAN]....}



Keterangan:

Setiap perintah SELECT minimal harus ada SELECT dan FROM.

WHERE, GROUP BY, HAVING, ORDER BY bersifat optional (boleh ada, boleh tidak)


Diktat Kuliah Basis Data                         1-12
Structure Query Language (SQL)




GROUP By harus sesudah WHERE atau FROM,

dan ORDER By harus selalu terakhir.

HAVING hanya dapat digunakan jika ada GROUP By.


Betul/Salah perintah Select berikut ini:

Select ..........

Where ...........

Order by .............



Select....

From..

Having...

Group By....


Diktat Kuliah Basis Data                          1-13
Structure Query Language (SQL)




Select .....

From..

Order by.......

Group by........


URUTAN PEMROSESAN PERINTAH SELECT

SELECT                     Pilih Kolom

FROM                       Dari tabel mana data berasal

WHERE                      Pilih record yang memenuhi kondisi

GROUP BY                   Kelompokkan berdasarkan nilai yang sama dari kolom

HAVING                     Pilih kelompok yang memenuhi kondisi

ORDER BY                   urutkan baris berdasarkan kolom


Diktat Kuliah Basis Data                                          1-14
Structure Query Language (SQL)




QUERY SEDERHANA



Select *

From mahasiswa;



Select Distinct KdMk

From Transkrip;


PENGGUNAAN WHERE

Diikuti oleh:

        Perbandingan sederhana

        Kondisi (syarat) yang terhubungkan dengan AND, OR, dan NOT

        Operator BETWEEN


Diktat Kuliah Basis Data                            1-15
Structure Query Language (SQL)




        Operator IN

        Operator LIKE

        Operator IN dengan sub-query

        Operator perbandingan dengan sub-query

        Operator ANY dan ALL

        Operator EXIST


PERBANDINGAN SEDERHANA: menggunakan       operator perbandingan

=; < ; >; <=; >=; <> (!=)


Contoh:



Select NOMHS


Diktat Kuliah Basis Data                            1-16
Structure Query Language (SQL)




From Mahasiswa

Where Kota = ‘Jakarta’



Select NOMHS, NamaMhs

From Mahasiswa

Where Year(TglLahir) = 1990



Where 2011 - year(TglLahir) = 25




Kondisi dengan AND, OR, dan NOT



Contoh:


Diktat Kuliah Basis Data           1-17
Structure Query Language (SQL)




Select NoMHS

From MAHASISWA

Where Kota <> ‘Jakarta’

OR JnKel = ‘L’



catatan : operator = pada contoh di atas dapat diganti dengan operator yang lain.



Operator BETWEEN

- Mengecek apakah nilai dari kolom dalam suatu range

-   Format: <Namakolom> {NOT} BETWEEN <Nilai1> AND <Nilai2>

Contoh:

Select NOMHS, NAMAMHS


Diktat Kuliah Basis Data                              1-18
Structure Query Language (SQL)




From Mahasiswa

Where Year(TglLahir) Between 1990 AND 1993



Note:

<kolom> between A AND B ⇔ (<kolom> >= A) AND (<kolom> <= B)

<kolom> NOT Between A AND B ⇔ NOT(<kolom> Between A AND B) ⇔ (<kolom> < A OR
(<kolom> > B)


Operator IN


Select NoMhs, NamaMhs, Kota From Mahasiswa

Where Kota                 = “Bandung”

OR         Kota            = “Jakarta”



Diktat Kuliah Basis Data                       1-19
Structure Query Language (SQL)




OR         Kota            = “Medan”

OR         Kota            = “Surabaya”



Dapat diganti dengan menggunakan operator IN, sebagai berikut:



Select NoMhs, NamaMhs, Kota

From Mahasiswa

Where Kota IN (‘Bandung’,’Jakarta’,’Medan’,’Surabaya’)


Operator LIKE



%      : Pengganti 0, 1, atau lebih karakter

_      : underscore pengganti satu karakter


Diktat Kuliah Basis Data                            1-20
Structure Query Language (SQL)




Contoh:

Select          NoMhs

From            Mahasiswa

Where           NamaMhs LIKE ‘%n%’



Contoh Lain:

        Nama mata kuliah memuat string ‘ta’ -----NamaMK LIKE ‘%t%a%’

        Nama mahasiswa panjangnya 10 huruf ---- NamaMHS LIKE ‘__________’

        Nama mahasiswa minimal panjangnya 10 -- NamaMHS Like ‘__________%’

Select NAMA from mahasiswa where nama LIKE ‘_ _ _ _ _ _ _ _ _ _%’

Operator IN dengan sub-query




Diktat Kuliah Basis Data                            1-21
Structure Query Language (SQL)




Contoh:

SELECT NoMhs, NamaMhs

FROM Mahasiswa

WHERE Kota IN

                           (SELECT Kota

                           FROM Mahasiswa

                           WHERE NoMhs IN (2946, 5280))



SELECT NoMhs, NamaMhs

FROM Mahasiswa

WHERE NoMhs IN

        (SELECT NoMhs

        FROM Transkrip


Diktat Kuliah Basis Data                                  1-22
Structure Query Language (SQL)




        WHERE NoMk = ‘MSM100’)




Operator TETHA dengan sub-query

-    Operator tetha dapat digunakan jika sub-query menghasilkan tepat satu nilai

Contoh:

Select NoMhs, NamaMhs

From Mahasiswa

Where Kota =

(Select Kota From Mahasiswa

Where NoMhs = 5830)



Select NoMhs, NamaMhs


Diktat Kuliah Basis Data                               1-23
Structure Query Language (SQL)




From Mahasiswa

Where Year(TglLahir) < (Select Year(TglLahir)

From Mahasiswa

Where NoMhs = 5830




Soal:

Tampilkan Nomor dan nama mahasiswa yang tahun lahirnya sama dengan tahun lahirnya ‘Budi’,
tetapi Budi tidak muncul dalam hasil.



Operator ANY dan ALL




Diktat Kuliah Basis Data                          1-24
Structure Query Language (SQL)




Jika Y1,Y2,Y3,...., dan Yn nilai-nilai yang dihasilkan sub-query S, maka:

NamaKolom < ALL (s) ⇔

(NamaKolom < Y1) AND

(NamaKolom < Y2) AND

..............

(NamaKolom < Yn)



Contoh:

Select NoMhs, NamaMhs

From Mahasiswa

Where Year(TglLahir) <= ALL

        (Select Year(TglLahir) from Mahasiswa)




Diktat Kuliah Basis Data                               1-25
Structure Query Language (SQL)




Sedangkan

NamaKolom < ANY (S) ⇔

(NamaKolom < Y1) OR

(NamaKolom < Y2) OR

..............

(NamaKolom < Yn)



Operator EXIST
Digunakan untuk melakukan pengecekan apakah hasil dari suatu ‘correlated nested query’berisi tuple atau
tidak.

EXISTS (Q) : Memberikan nilai return True, jika dalam hasil query Q minimal terdiri dari satu tuple

NOT EXISTS (Q) : Memberikan nilai return TRUE, jika tak satupun tuple yang dihasilkandalam hasil query Q

Select NamaMhs

Diktat Kuliah Basis Data                                             1-26
Structure Query Language (SQL)




From Mahasiswa

Where EXIST

(Select *

From Transkrip

Where NoMhs = Mahasiswa.NoMhs AND

NoMk = ‘MSM160’)



GROUP BY



Mengelompokkan rekord berdasarkan nilai suatu atribut (kolom)



Contoh:




Diktat Kuliah Basis Data                            1-27
Structure Query Language (SQL)




Tabel Transkrip




Diktat Kuliah Basis Data   1-28
Structure Query Language (SQL)




         NoMhs             KdMk     Nilai

         2530              MSM100   90

         2530              MSM200   80

         2700              MSM100   60

         2700              MSM200   80




Diktat Kuliah Basis Data                    1-29
Structure Query Language (SQL)




         2530              MSM300   90




Diktat Kuliah Basis Data                 1-30
Structure Query Language (SQL)




Select NoMhs

From Transkrip

Group by NoMhs



NoMhs                      KdMk                              Nilai

---------------------------------------------------------------------------

2530                       MSM100,MSM200,M2M300 90,80,90

2700                       MSM100,MSM200                     60,80



Hasil akhir:


Diktat Kuliah Basis Data                                                 1-31
Structure Query Language (SQL)




NoMhs

--------

2530

2700



HAVING

-    Memilih (menyeleksi) kelompok berdasarkan karakteristik dari kelompok

-    Selalu diikuti oleh kelompok fungsi dalam SQL:

        COUNT - banyaknya nilai suatu kolom

                           - banyaknya baris dalam tabel

        MIN - Nilai terkecil dalam suatu kolom

        MAX- Nilai terbesar dalam suatu kolom


Diktat Kuliah Basis Data                                   1-32
Structure Query Language (SQL)




        SUM- Nilai total dalam suatu kolom

        AVG - Nilai rata-rata dalam suatu kolom



        COUNT(*) menghitung jumlah semua baris dalam tabel tanpa menghilangkan duplikasi

        COUNT, AVG, SUM dapat menggunakan DISTINCT untuk menghilangkan duplikasi sebelum
        fungsi tersebut diberlakukan.

Contoh:



Select COUNT(*)

from Mahasiswa



Select COUNT(distinct NoMhs)

From transkrip



Diktat Kuliah Basis Data                             1-33
Structure Query Language (SQL)




Where nilai >= 80



Select NoMhs, AVG(Nilai)

From(transkrip)

Group by NoMhs

Having AVG(Nilai) > 80




Diktat Kuliah Basis Data   1-34

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

membuat function dalam mysql
membuat function dalam mysqlmembuat function dalam mysql
membuat function dalam mysql
 
Tugas mandiri struktur data
Tugas mandiri struktur dataTugas mandiri struktur data
Tugas mandiri struktur data
 
Bahan Ajar Basis Data
Bahan Ajar Basis DataBahan Ajar Basis Data
Bahan Ajar Basis Data
 
Tipe Data pada MySQL
Tipe Data pada MySQLTipe Data pada MySQL
Tipe Data pada MySQL
 
PostgreSQL Database Slides
PostgreSQL Database SlidesPostgreSQL Database Slides
PostgreSQL Database Slides
 
Sistemas 001
Sistemas 001Sistemas 001
Sistemas 001
 
Pert 04 clustering data mining
Pert 04 clustering   data miningPert 04 clustering   data mining
Pert 04 clustering data mining
 
OLAP v/s OLTP
OLAP v/s OLTPOLAP v/s OLTP
OLAP v/s OLTP
 
Kriptografi
KriptografiKriptografi
Kriptografi
 
Penggunaan SUBQUERY SQL SERVER (USING SUBQUERIES)
Penggunaan SUBQUERY SQL SERVER (USING SUBQUERIES)Penggunaan SUBQUERY SQL SERVER (USING SUBQUERIES)
Penggunaan SUBQUERY SQL SERVER (USING SUBQUERIES)
 
Makalah Data Warehouse - Muh. Abdullah Sapiih 05201740068
Makalah Data Warehouse - Muh. Abdullah Sapiih 05201740068Makalah Data Warehouse - Muh. Abdullah Sapiih 05201740068
Makalah Data Warehouse - Muh. Abdullah Sapiih 05201740068
 
İleri Seviye T-SQL Programlama - Chapter 03
İleri Seviye T-SQL Programlama - Chapter 03İleri Seviye T-SQL Programlama - Chapter 03
İleri Seviye T-SQL Programlama - Chapter 03
 
8. sql
8. sql8. sql
8. sql
 
Oraclesql
OraclesqlOraclesql
Oraclesql
 
Sql tutorial
Sql tutorialSql tutorial
Sql tutorial
 
Dimensional Modelling
Dimensional ModellingDimensional Modelling
Dimensional Modelling
 
Sql ch 13 - sql-views
Sql ch 13 - sql-viewsSql ch 13 - sql-views
Sql ch 13 - sql-views
 
Perancangan database penyewaan lapangan
Perancangan database penyewaan lapanganPerancangan database penyewaan lapangan
Perancangan database penyewaan lapangan
 
MySQL Views
MySQL ViewsMySQL Views
MySQL Views
 
Data Warehousing and OLAP I
Data Warehousing and OLAP IData Warehousing and OLAP I
Data Warehousing and OLAP I
 

Destaque (8)

Bab. 13
Bab. 13Bab. 13
Bab. 13
 
Bab. 3
Bab. 3Bab. 3
Bab. 3
 
Bab 6. SQL
Bab 6. SQLBab 6. SQL
Bab 6. SQL
 
Bab. 7
Bab. 7Bab. 7
Bab. 7
 
Bab. 12
Bab. 12Bab. 12
Bab. 12
 
Bab. 6
Bab. 6Bab. 6
Bab. 6
 
Bab. 10
Bab. 10Bab. 10
Bab. 10
 
Macro Analytics 09-25-12 FEDERAL RESERVE - False Perceptions & Propaganda
Macro Analytics 09-25-12 FEDERAL RESERVE - False Perceptions & PropagandaMacro Analytics 09-25-12 FEDERAL RESERVE - False Perceptions & Propaganda
Macro Analytics 09-25-12 FEDERAL RESERVE - False Perceptions & Propaganda
 

Semelhante a Basisdata sql

Modul my sql tutorial part 5
Modul my sql tutorial part 5Modul my sql tutorial part 5
Modul my sql tutorial part 5
Ratzman III
 
Tutorial membuat form dalam netbeans versi2
Tutorial membuat form dalam netbeans versi2Tutorial membuat form dalam netbeans versi2
Tutorial membuat form dalam netbeans versi2
zuckcruel
 
Slide-INF106-Pertemuan-3-Bahasa-Basis-Data-tambahan.pptx
Slide-INF106-Pertemuan-3-Bahasa-Basis-Data-tambahan.pptxSlide-INF106-Pertemuan-3-Bahasa-Basis-Data-tambahan.pptx
Slide-INF106-Pertemuan-3-Bahasa-Basis-Data-tambahan.pptx
Kennydwilorenza
 

Semelhante a Basisdata sql (20)

Pengantar SQL
Pengantar SQLPengantar SQL
Pengantar SQL
 
Sql dasar
Sql dasarSql dasar
Sql dasar
 
matrei perkuliahana tentang SQL Overview.ppt
matrei perkuliahana tentang SQL Overview.pptmatrei perkuliahana tentang SQL Overview.ppt
matrei perkuliahana tentang SQL Overview.ppt
 
file_2013-09-24_11_21_37_WIBOWO_WICAKSONO,_ST.,M.Kom__5._SQL2.ppt
file_2013-09-24_11_21_37_WIBOWO_WICAKSONO,_ST.,M.Kom__5._SQL2.pptfile_2013-09-24_11_21_37_WIBOWO_WICAKSONO,_ST.,M.Kom__5._SQL2.ppt
file_2013-09-24_11_21_37_WIBOWO_WICAKSONO,_ST.,M.Kom__5._SQL2.ppt
 
Membuat Database Menggunakan MySql
Membuat Database Menggunakan MySqlMembuat Database Menggunakan MySql
Membuat Database Menggunakan MySql
 
On mysql
On mysqlOn mysql
On mysql
 
Materi 3 Penjelasan tentang SQL DDL dan DML
Materi 3 Penjelasan tentang SQL DDL dan DMLMateri 3 Penjelasan tentang SQL DDL dan DML
Materi 3 Penjelasan tentang SQL DDL dan DML
 
Modul my sql tutorial part 5
Modul my sql tutorial part 5Modul my sql tutorial part 5
Modul my sql tutorial part 5
 
Tutorial membuat form dalam netbeans versi2
Tutorial membuat form dalam netbeans versi2Tutorial membuat form dalam netbeans versi2
Tutorial membuat form dalam netbeans versi2
 
Sql
SqlSql
Sql
 
DML
DMLDML
DML
 
Tupen 8 1235010002
Tupen 8 1235010002Tupen 8 1235010002
Tupen 8 1235010002
 
DDL dan DML
DDL dan DMLDDL dan DML
DDL dan DML
 
Pertemuan 10
Pertemuan 10Pertemuan 10
Pertemuan 10
 
Laporan praktikum modul 8 (dml part 2)
Laporan praktikum modul 8 (dml part 2)Laporan praktikum modul 8 (dml part 2)
Laporan praktikum modul 8 (dml part 2)
 
SQL.pdf
SQL.pdfSQL.pdf
SQL.pdf
 
abd_01_2223.pdf
abd_01_2223.pdfabd_01_2223.pdf
abd_01_2223.pdf
 
Materi sql server 3 eresha
Materi sql server 3 ereshaMateri sql server 3 eresha
Materi sql server 3 eresha
 
Slide-INF106-Pertemuan-3-Bahasa-Basis-Data-tambahan.pptx
Slide-INF106-Pertemuan-3-Bahasa-Basis-Data-tambahan.pptxSlide-INF106-Pertemuan-3-Bahasa-Basis-Data-tambahan.pptx
Slide-INF106-Pertemuan-3-Bahasa-Basis-Data-tambahan.pptx
 
Bab iv sql
Bab iv   sqlBab iv   sql
Bab iv sql
 

Mais de Zaenal Abidin (20)

Bab 4
Bab 4Bab 4
Bab 4
 
Bab 5
Bab 5Bab 5
Bab 5
 
Normalisasi oht
Normalisasi ohtNormalisasi oht
Normalisasi oht
 
Bab 6 pendukung
Bab 6 pendukungBab 6 pendukung
Bab 6 pendukung
 
Bab 6
Bab 6Bab 6
Bab 6
 
Bab 4 latihan erd ke skema relasional
Bab 4 latihan erd ke skema relasionalBab 4 latihan erd ke skema relasional
Bab 4 latihan erd ke skema relasional
 
Bab 2
Bab 2Bab 2
Bab 2
 
Modul praktikum database rdbms
Modul praktikum database rdbmsModul praktikum database rdbms
Modul praktikum database rdbms
 
Modul praktikum database programing
Modul praktikum database programingModul praktikum database programing
Modul praktikum database programing
 
Bab. 9
Bab. 9Bab. 9
Bab. 9
 
Bab. 5
Bab. 5Bab. 5
Bab. 5
 
Bab. 4
Bab. 4Bab. 4
Bab. 4
 
Bab. 11
Bab. 11Bab. 11
Bab. 11
 
Bab. 8
Bab. 8Bab. 8
Bab. 8
 
Bab. 1
Bab. 1Bab. 1
Bab. 1
 
Bab. 14
Bab. 14Bab. 14
Bab. 14
 
1
11
1
 
Bab 8. Perlindungan dan Pemulihan Data
Bab 8. Perlindungan dan Pemulihan DataBab 8. Perlindungan dan Pemulihan Data
Bab 8. Perlindungan dan Pemulihan Data
 
Bab 7. Normalisasi Data
Bab 7. Normalisasi DataBab 7. Normalisasi Data
Bab 7. Normalisasi Data
 
Bab 5. Operator Relasi
Bab 5. Operator RelasiBab 5. Operator Relasi
Bab 5. Operator Relasi
 

Basisdata sql

  • 1. Structure Query Language (SQL) SQL SQL (baca SEQUEL) pertama kali didefinisikan oleh Chamberlin (IBM Research Laboratory, San Jose, California). Karena kemudahanya untuk mengakses data, maka SQL cepat menjadi populer, sehingga banyak DBMS yang memiliki fasilitas SQL untuk mengakses data. Terdapat berbagai dialek SQL yang berbeda satu dengan yang lain. Pada bab ini akan dibicarakan dialek SQL yang standard. Perintah-perintah dalam SQL dapat dikelompokkan menjadi 2 kelompok: • DDL (Data Definition Language) dan • DML (Data Manipulation Language) Diktat Kuliah Basis Data 1-1
  • 2. Structure Query Language (SQL) 1. DDL (Data Definition Language) membuat DATABASE,TABLE merubah tabel membuat index menghapus tabel dan index 2. DML (Data Manipulation Language) tambah data update data hapus data query data Diktat Kuliah Basis Data 1-2
  • 3. Structure Query Language (SQL) MEMBUAT DATABASE CREATE DATABASE Nama_database; Contoh: CREATE DATABASE DBMahasiswa; USE DATABASE DBMAHASISWA; Diktat Kuliah Basis Data 1-3
  • 4. Structure Query Language (SQL) MEMBUAT TABEL CREATE TABLE Nama_tabel ([NamaKolom Typedata{NOT NULL}]....) Contoh: CREATE TABLE TRANSKRIP (NO_MHS INTEGER NOT NULL, NO_MK CHAR(6) NOT NULL, NILAI SMALLINT); Create Table MAHASISWA (NoMHS Integer NOT NULL, Diktat Kuliah Basis Data 1-4
  • 5. Structure Query Language (SQL) NamaMHS varchar(30), TglLahir DATE, Alamat Varchar(50), Primary key(NoMHS)); Diktat Kuliah Basis Data 1-5
  • 6. Structure Query Language (SQL) MERUBAH TABEL ALTER TABLE Nama_tabel ADD NamaKolom Typedata Contoh: ALTER TABLEMAHASISWA ADD Alamat char(25); Diktat Kuliah Basis Data 1-6
  • 7. Structure Query Language (SQL) MEMBUAT INDEX CREATE {UNIQUE} INDEX NamaIndex ON Nama Tabel UNIQUE Jika nilai pada kolom yang diindex terdapat beberapa nilai yang ditampilkan hanyalah satu nilai saja ASC Urutan dari Kecil-Besar (Naik) DESC Urutan dari Besar-Kecil (Turun) Default ASC Contoh: CREATE INDEX IDXMHS ON Mahasiswa (NO_MHS) Diktat Kuliah Basis Data 1-7
  • 8. Structure Query Language (SQL) MENGHAPUS DATABASE,TABEL & INDEX DROP DATABASE dbMahasiswa DROP TABLE Nama_tabel; DROP INDEX Nama_Index; MENAMBAH DATA KE TABEL INSERT INTO Nama_tabel {([Namakolom]...)} VALUES ([konstan]...) INSERT INTO Nama_tabel {([Namakolom]...)} SELECT ... FROM.... Diktat Kuliah Basis Data 1-8
  • 9. Structure Query Language (SQL) Contoh: Insert Into Transkrip (NOMHS, KDMK, NILAI) VALUES (2930,’MSM160’,80) Insert Into Transkrip VALUES (2930,’MSM160’, 80) Insert Into NewTranskrip Select * From Transkrip Where KDMK <> ‘MSM 100’ Jumlah kolom dalam insert into = Jumlah kolom dalam SELECT Type data kolom-kolom dalam Insert Into = tipe data kolom-kolom dalam SELECT Diktat Kuliah Basis Data 1-9
  • 10. Structure Query Language (SQL) MENGHAPUS DATA DELETE FROM NamaTabel {WHERE Kondisi} Contoh: Delete From transkrip; Delete From transkrip Where NoMhs = 3001; Diktat Kuliah Basis Data 1-10
  • 11. Structure Query Language (SQL) MENGUPDATE DATA UPDATE NamaTabel SET [Namakolom =[ Ekspresi]]... {WHERE Kondisi} Contoh: UPDATE MataKuliah Set NamaMK = ‘Program Terstruktur’ Where KdMk = ‘MSM 200’; UPDATE Transkrip Set Nilai = Nilai + 10; Where KDMK = ‘MSM 260’ Diktat Kuliah Basis Data 1-11
  • 12. Structure Query Language (SQL) QUERY DATA SELECT {DISTINCT| ALL} [*| [Ekspresikolom]...] FROM [Nama Tabel].... {WHERE Kondisi} {GROUP By [Nama Kolom]... {HAVING Kondisi}} {ORDER By [URUTAN]....} Keterangan: Setiap perintah SELECT minimal harus ada SELECT dan FROM. WHERE, GROUP BY, HAVING, ORDER BY bersifat optional (boleh ada, boleh tidak) Diktat Kuliah Basis Data 1-12
  • 13. Structure Query Language (SQL) GROUP By harus sesudah WHERE atau FROM, dan ORDER By harus selalu terakhir. HAVING hanya dapat digunakan jika ada GROUP By. Betul/Salah perintah Select berikut ini: Select .......... Where ........... Order by ............. Select.... From.. Having... Group By.... Diktat Kuliah Basis Data 1-13
  • 14. Structure Query Language (SQL) Select ..... From.. Order by....... Group by........ URUTAN PEMROSESAN PERINTAH SELECT SELECT Pilih Kolom FROM Dari tabel mana data berasal WHERE Pilih record yang memenuhi kondisi GROUP BY Kelompokkan berdasarkan nilai yang sama dari kolom HAVING Pilih kelompok yang memenuhi kondisi ORDER BY urutkan baris berdasarkan kolom Diktat Kuliah Basis Data 1-14
  • 15. Structure Query Language (SQL) QUERY SEDERHANA Select * From mahasiswa; Select Distinct KdMk From Transkrip; PENGGUNAAN WHERE Diikuti oleh: Perbandingan sederhana Kondisi (syarat) yang terhubungkan dengan AND, OR, dan NOT Operator BETWEEN Diktat Kuliah Basis Data 1-15
  • 16. Structure Query Language (SQL) Operator IN Operator LIKE Operator IN dengan sub-query Operator perbandingan dengan sub-query Operator ANY dan ALL Operator EXIST PERBANDINGAN SEDERHANA: menggunakan operator perbandingan =; < ; >; <=; >=; <> (!=) Contoh: Select NOMHS Diktat Kuliah Basis Data 1-16
  • 17. Structure Query Language (SQL) From Mahasiswa Where Kota = ‘Jakarta’ Select NOMHS, NamaMhs From Mahasiswa Where Year(TglLahir) = 1990 Where 2011 - year(TglLahir) = 25 Kondisi dengan AND, OR, dan NOT Contoh: Diktat Kuliah Basis Data 1-17
  • 18. Structure Query Language (SQL) Select NoMHS From MAHASISWA Where Kota <> ‘Jakarta’ OR JnKel = ‘L’ catatan : operator = pada contoh di atas dapat diganti dengan operator yang lain. Operator BETWEEN - Mengecek apakah nilai dari kolom dalam suatu range - Format: <Namakolom> {NOT} BETWEEN <Nilai1> AND <Nilai2> Contoh: Select NOMHS, NAMAMHS Diktat Kuliah Basis Data 1-18
  • 19. Structure Query Language (SQL) From Mahasiswa Where Year(TglLahir) Between 1990 AND 1993 Note: <kolom> between A AND B ⇔ (<kolom> >= A) AND (<kolom> <= B) <kolom> NOT Between A AND B ⇔ NOT(<kolom> Between A AND B) ⇔ (<kolom> < A OR (<kolom> > B) Operator IN Select NoMhs, NamaMhs, Kota From Mahasiswa Where Kota = “Bandung” OR Kota = “Jakarta” Diktat Kuliah Basis Data 1-19
  • 20. Structure Query Language (SQL) OR Kota = “Medan” OR Kota = “Surabaya” Dapat diganti dengan menggunakan operator IN, sebagai berikut: Select NoMhs, NamaMhs, Kota From Mahasiswa Where Kota IN (‘Bandung’,’Jakarta’,’Medan’,’Surabaya’) Operator LIKE % : Pengganti 0, 1, atau lebih karakter _ : underscore pengganti satu karakter Diktat Kuliah Basis Data 1-20
  • 21. Structure Query Language (SQL) Contoh: Select NoMhs From Mahasiswa Where NamaMhs LIKE ‘%n%’ Contoh Lain: Nama mata kuliah memuat string ‘ta’ -----NamaMK LIKE ‘%t%a%’ Nama mahasiswa panjangnya 10 huruf ---- NamaMHS LIKE ‘__________’ Nama mahasiswa minimal panjangnya 10 -- NamaMHS Like ‘__________%’ Select NAMA from mahasiswa where nama LIKE ‘_ _ _ _ _ _ _ _ _ _%’ Operator IN dengan sub-query Diktat Kuliah Basis Data 1-21
  • 22. Structure Query Language (SQL) Contoh: SELECT NoMhs, NamaMhs FROM Mahasiswa WHERE Kota IN (SELECT Kota FROM Mahasiswa WHERE NoMhs IN (2946, 5280)) SELECT NoMhs, NamaMhs FROM Mahasiswa WHERE NoMhs IN (SELECT NoMhs FROM Transkrip Diktat Kuliah Basis Data 1-22
  • 23. Structure Query Language (SQL) WHERE NoMk = ‘MSM100’) Operator TETHA dengan sub-query - Operator tetha dapat digunakan jika sub-query menghasilkan tepat satu nilai Contoh: Select NoMhs, NamaMhs From Mahasiswa Where Kota = (Select Kota From Mahasiswa Where NoMhs = 5830) Select NoMhs, NamaMhs Diktat Kuliah Basis Data 1-23
  • 24. Structure Query Language (SQL) From Mahasiswa Where Year(TglLahir) < (Select Year(TglLahir) From Mahasiswa Where NoMhs = 5830 Soal: Tampilkan Nomor dan nama mahasiswa yang tahun lahirnya sama dengan tahun lahirnya ‘Budi’, tetapi Budi tidak muncul dalam hasil. Operator ANY dan ALL Diktat Kuliah Basis Data 1-24
  • 25. Structure Query Language (SQL) Jika Y1,Y2,Y3,...., dan Yn nilai-nilai yang dihasilkan sub-query S, maka: NamaKolom < ALL (s) ⇔ (NamaKolom < Y1) AND (NamaKolom < Y2) AND .............. (NamaKolom < Yn) Contoh: Select NoMhs, NamaMhs From Mahasiswa Where Year(TglLahir) <= ALL (Select Year(TglLahir) from Mahasiswa) Diktat Kuliah Basis Data 1-25
  • 26. Structure Query Language (SQL) Sedangkan NamaKolom < ANY (S) ⇔ (NamaKolom < Y1) OR (NamaKolom < Y2) OR .............. (NamaKolom < Yn) Operator EXIST Digunakan untuk melakukan pengecekan apakah hasil dari suatu ‘correlated nested query’berisi tuple atau tidak. EXISTS (Q) : Memberikan nilai return True, jika dalam hasil query Q minimal terdiri dari satu tuple NOT EXISTS (Q) : Memberikan nilai return TRUE, jika tak satupun tuple yang dihasilkandalam hasil query Q Select NamaMhs Diktat Kuliah Basis Data 1-26
  • 27. Structure Query Language (SQL) From Mahasiswa Where EXIST (Select * From Transkrip Where NoMhs = Mahasiswa.NoMhs AND NoMk = ‘MSM160’) GROUP BY Mengelompokkan rekord berdasarkan nilai suatu atribut (kolom) Contoh: Diktat Kuliah Basis Data 1-27
  • 28. Structure Query Language (SQL) Tabel Transkrip Diktat Kuliah Basis Data 1-28
  • 29. Structure Query Language (SQL) NoMhs KdMk Nilai 2530 MSM100 90 2530 MSM200 80 2700 MSM100 60 2700 MSM200 80 Diktat Kuliah Basis Data 1-29
  • 30. Structure Query Language (SQL) 2530 MSM300 90 Diktat Kuliah Basis Data 1-30
  • 31. Structure Query Language (SQL) Select NoMhs From Transkrip Group by NoMhs NoMhs KdMk Nilai --------------------------------------------------------------------------- 2530 MSM100,MSM200,M2M300 90,80,90 2700 MSM100,MSM200 60,80 Hasil akhir: Diktat Kuliah Basis Data 1-31
  • 32. Structure Query Language (SQL) NoMhs -------- 2530 2700 HAVING - Memilih (menyeleksi) kelompok berdasarkan karakteristik dari kelompok - Selalu diikuti oleh kelompok fungsi dalam SQL: COUNT - banyaknya nilai suatu kolom - banyaknya baris dalam tabel MIN - Nilai terkecil dalam suatu kolom MAX- Nilai terbesar dalam suatu kolom Diktat Kuliah Basis Data 1-32
  • 33. Structure Query Language (SQL) SUM- Nilai total dalam suatu kolom AVG - Nilai rata-rata dalam suatu kolom COUNT(*) menghitung jumlah semua baris dalam tabel tanpa menghilangkan duplikasi COUNT, AVG, SUM dapat menggunakan DISTINCT untuk menghilangkan duplikasi sebelum fungsi tersebut diberlakukan. Contoh: Select COUNT(*) from Mahasiswa Select COUNT(distinct NoMhs) From transkrip Diktat Kuliah Basis Data 1-33
  • 34. Structure Query Language (SQL) Where nilai >= 80 Select NoMhs, AVG(Nilai) From(transkrip) Group by NoMhs Having AVG(Nilai) > 80 Diktat Kuliah Basis Data 1-34