SlideShare a Scribd company logo
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

More Related Content

PPTX
Power Point Sidang Skripsi Prodi Sistem Informasi.pptx
PPTX
Basis Data - Pengenalan DML dan DDL
PPTX
UKURAN LETAK DATA (KUARTIL, DESIL, PERSENTIL).pptx
PPTX
multi dimensional data model
PDF
Sql wksht-1
PDF
Panduan microsoft office access 2007 2
PPTX
Data mining 4 konsep dasar klasifikasi
PDF
02 - Preprocessing Data.pdf
Power Point Sidang Skripsi Prodi Sistem Informasi.pptx
Basis Data - Pengenalan DML dan DDL
UKURAN LETAK DATA (KUARTIL, DESIL, PERSENTIL).pptx
multi dimensional data model
Sql wksht-1
Panduan microsoft office access 2007 2
Data mining 4 konsep dasar klasifikasi
02 - Preprocessing Data.pdf

Viewers also liked (8)

DOC
Bab. 13
DOC
DOC
Bab 6. SQL
DOC
DOC
Bab. 12
DOC
DOC
Bab. 10
PPTX
Macro Analytics 09-25-12 FEDERAL RESERVE - False Perceptions & Propaganda
Bab. 13
Bab 6. SQL
Bab. 12
Bab. 10
Macro Analytics 09-25-12 FEDERAL RESERVE - False Perceptions & Propaganda
Ad

Similar to Basisdata sql (20)

PPTX
Structured query language
PDF
Bahasa Query Terapan
PPTX
Strategi dan Implementasi Basis Data: Memahami Konsep, Struktur, dan Teknologi
PDF
LPR Week 2-KEMASTURA Group-2023-Data Analytics
PDF
Structure query language
PDF
Kd6 Structure Query Language (SQL)
PPTX
Basis Data Kelas XI _ Materi SQL Rekayasa Perangkat Lunak
PPT
Membuat Database Menggunakan MySql
PPT
On mysql
PPTX
Sql session 1
PDF
T modul 5 mysql
PDF
7 Materi Kuliah Bahasa SQL
PDF
Kasus & query
PDF
Kasus & query
PPT
Pertemuan 10
PPT
Pertemuan 5 - SQL Basic
PPT
SQL DASAR.ppt
PPTX
Structured Query Language (SQL) Dasar.pptx
PDF
DOCX
Structured query language
Bahasa Query Terapan
Strategi dan Implementasi Basis Data: Memahami Konsep, Struktur, dan Teknologi
LPR Week 2-KEMASTURA Group-2023-Data Analytics
Structure query language
Kd6 Structure Query Language (SQL)
Basis Data Kelas XI _ Materi SQL Rekayasa Perangkat Lunak
Membuat Database Menggunakan MySql
On mysql
Sql session 1
T modul 5 mysql
7 Materi Kuliah Bahasa SQL
Kasus & query
Kasus & query
Pertemuan 10
Pertemuan 5 - SQL Basic
SQL DASAR.ppt
Structured Query Language (SQL) Dasar.pptx
Ad

More from Zaenal Abidin (20)

PPT
PPT
DOC
Normalisasi oht
PPT
Bab 6 pendukung
PPTX
PPT
Bab 4 latihan erd ke skema relasional
PPTX
PPTX
DOCX
Modul praktikum database rdbms
DOCX
Modul praktikum database programing
DOCX
DOCX
DOCX
DOC
Bab. 11
DOC
DOC
DOC
Bab. 14
DOCX
Bab 8. Perlindungan dan Pemulihan Data
DOC
Bab 7. Normalisasi Data
Normalisasi oht
Bab 6 pendukung
Bab 4 latihan erd ke skema relasional
Modul praktikum database rdbms
Modul praktikum database programing
Bab. 11
Bab. 14
Bab 8. Perlindungan dan Pemulihan Data
Bab 7. Normalisasi Data

Recently uploaded (9)

PPTX
Peranan AI dalam Dunia Pendidikan dan Industri Aplikasinya
PDF
Rekomendasi Riset Lanjutan : perspektif_futurologis.pdf
PPTX
Implementasi Microservices pada Manufaktur
PDF
Modul_Pemula_Merakit_Komputer untuk smppdf
PPT
pengantar-sistem-informasi manajemen.ppt
PPTX
Materi_Array_Karakter_String untuk kelas XI sma.pptx
DOCX
Keutuhan Aplikasi Konsep dan Praktik dalam Upaya menciptakan aplikasi Anti Vi...
PPTX
Materi asdsa asd asd sad sa dsa dsa d sa
DOCX
Antivirus Versi.FULL.JALiN.KB.PRO Keutuhan Aplikasi Konsep dan Praktik dalam ...
Peranan AI dalam Dunia Pendidikan dan Industri Aplikasinya
Rekomendasi Riset Lanjutan : perspektif_futurologis.pdf
Implementasi Microservices pada Manufaktur
Modul_Pemula_Merakit_Komputer untuk smppdf
pengantar-sistem-informasi manajemen.ppt
Materi_Array_Karakter_String untuk kelas XI sma.pptx
Keutuhan Aplikasi Konsep dan Praktik dalam Upaya menciptakan aplikasi Anti Vi...
Materi asdsa asd asd sad sa dsa dsa d sa
Antivirus Versi.FULL.JALiN.KB.PRO Keutuhan Aplikasi Konsep dan Praktik dalam ...

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