STRUKTUR QUERY LANGUAGE (SQL)
PENDAHULUAN
SQL merupakan bahasa basis data relasional standar. Terdapat macam-macam versi SQL. Versi aslinya pertama kali dikembangkan oleh IBM San Jose
Research Laboratory.
BAHASA SQL
- Data Definition Language (DDL)
DDL memberikan perintah untuk mendefinisikan skema relasi, penghapusan relasi, membuat indeks dan modifikasi skema relasi.
- Data-Manipulation Language (DML)
DML merupakan bahasa Query yang berdasarkan pada aljabar relasi dan kalkulus relasi tuple.
Termasuk didalamnya adalah perintah untuk penyisipan, penghapusan dan modifikasi.
STRUKTUR DASAR SQL1. KLAUSA SELECT
berhubungan dengan operasi proyeksi dari aljabar relasional. Operasi ini digunakan untuk mendaftar semua atribut yang diinginkan sebagai hasil
suatu Query.
Contoh :
Mahasiswa
1. Menampilkan NIM & Nama_Mhs dari tabel Mahasiswa
Select NIM, Nama_MhsFrom Mahasiswa2. Menampilkan semua data dari tabel Mahasiswa
Select * From Mahasiswa3.Menampilkan Nama_Mhs dari tabel Mahasiswa
Select Nama_MhsFrom MahasiswaMisalkan ada banyak mahasiswa dengan nama yang sama, maka hanya ada satu yang tampil, perintahnya adalah :
Select distinct Nama_MhsFrom MahasiswaMerubah atribut Nama_Mhs menjadi Nama_Mahasiswa
Select Nama_Mhs as Nama_MahasiswaFrom Mahasiswa2. KLAUSA WHERE
berhubungan dengan operasi Cartesian product dari aljabar relasional. Operasi ini mencatat semua relasi yang di”scan”dalam evaluasi suatu Query.
Mahasiswa
- Menampilkan NIM & Nama Mahasiswa berdasarkan tempat lahir = ’Pekanbaru’
Select NIM, Nama_MhsFrom MahasiswaWhere Tmp_Lahir=’Pekanbaru’
Output :
Klausa wheredapat dikombinasikan dengan
operator :
- <, >, =, <=, >=, AND, OR, NOT, |=
- Between(diantara)
- Like.berdasarkan pola : % dan _ (underline)
Contoh
Nilai
Tampilkan NIM, Kode_Matkul as Kode dai nilai 65 = nilai = 80
Select NIM, Kode_Matkul as KodeFrom NilaiWhere Nilai between 65 and 80Output:
Nilai
Tampilkan Nama_Mhs yang diawali dengan huruf ‘R’
SelectNama_Mhs From MahasiswaWhere Nama_Mhs like‘R%’Output:
Menampilkan nama mahasiswa yang huruf keduanya adalah ‘a’
Select Nama_Mhs From Mahasiswa Where Nama_Mhs Like ‘_a%’3.KLAUSAFROM
Berhubungan dengan operasi predikat seleksi dari aljabar relasional. Operasi ini terdiri dari sebuah predikat yang menyangkut atribut atribut dari relasi yang muncul dalam klausafrom.
Sebuah QuerySQL biasanya mempunyai bentuk :
Select A1,A2,…..An From r1,r2,….rn Where PFUNGSI FUNGSI AGREGASI- Average: avg.menghitung nilai rata-rata
- Minimum: min.mencari nilai minimum
- Maximum: max.mencari nilai maksimum
- Sum: sum.menghitung nilai penjumlahan
- Count: count.menghitung jumlah data
Fungsi-fungsi di atas telah tersedia. Input untuk avg dan sum haruslah bertipe numerik.
Contoh
1.Menampilkan banyak jumlah record
Select count(*) From Mahasiswa
2. Menampilkan banyaknya mahasiswa angkatan 2003
Select count(*) From Mahasiswa Where Angkatan like ‘2003%’3 Menampilkan total SKS untuk kuliah di semester 2 :
Select sum(sks)From Mahasiswa Where semester=24. Menampilkan rata-rata sks untuk semua mata kuliah :
Select avg(sks)From Kuliah5.Menampilkan indeks nilai terbesar yang diperoleh mahasiswa untuk mata kuliah dengan kode kuliah ‘IF-110’ :
Select max(indeks_nilai)From Nilai Where Kode_Kul=’IF-110’
6. Menampilkan tanggal lahir paling tua yang ada pada tabel
mahasiswa :
Select min(tgl_lahir)From Mahasiswa
BAHASA DEFINISI DATA(DATA –DEFINITION LANGUAGE)DDL SQL memungkinkan dilakukannya spesifikasi tidak hanya pada himpunan relasi tetapi juga informasi untuk setiap relasi, yang meliputi :
- Skema setiap relasi
- Domain nilai setiap atribut relasi
- Konstrain integritas
- Himpunan indeks untuk setiap relasi
- Sekuriti dan autorisasi setiap relasi
- Struktur penyimpanan secara fisik untuk setiap relasi dalam disk.
MEMBUAT TABELCREATE TABLE nama_tabel
(
atribut1 type data1;
atribut2 type data2;
...
)Contoh :
CREATE TABLE Mahasiswa
(
NIM char(4),Nama_Mhs varc har,Alamat varchar,
)
MEMBUAT BASIS DATACREATE DATABASE Nama_DatabaseMENGURUTKAN HASIL DENGAN ‘ORDER BY’
Misalkan :
Mencari data mahasiswa yang berjenis kelamin perempuan diurutkan berdasarkan NIM (urut turun)
SELECT * FROM Mahasiswa WHERE Mahasiswa, Jenis_Kelamin = ‘Perempuan’ ORDER BY NIM desc............ asc
PENGELOMPOKKAN DENGAN ‘ORDER BY’Mencari jumlah mahasiswa berdasarkan kelompok jenis kelamin
SELECT COUNT(NIM) FROM Mahasiswa ORDER BY Mahasiswa, Jenis_KelaminContoh:
Company
SELECT Company_Name,sum(amount)FROM Company ORDER BY Company_Name
Output:
W3 School 12600IBM 4500Tampilkan amount dengan angka > 10000
SELECT Company_Name, sum(amount)FROM Company ORDER BY Company_Name Having sum(amount) > 10000Output :