SQL Lecturer: Mahendra Data, S.Kom
SQL SQL adalah singkatan dari Structured Query Language SQL adalah bahasa standar yang digunakan untuk mengakses serta memanipulasi database SQL termasuk dalam standar yang ditetapkan oleh ANSI (American National Standarts Institute)
Apa saja yang bisa dilakukan SQL? SQL bisa digunakan untuk: Mengeksekusi querie ke database Mengambil data dari database Memasukkan data ke dalam database Merubah data dalam database Menghapus data dalam database Membuat database baru Membuat tabel baru dalam database Membuat stored procedure dalam database Membuat views dalam database Merubah hak akses terhadap table, procedure dan view dalam database
Yang harus diingat! Bahas SQL bersifat case insensitive! Hurut besar dan huruf kecil dianggap sama Sangat disarankan menuliskan semicolon (;) di akhir perintah SQL. Beberapa DBMS mengharuskan menuliskan semicolon Semicolon adalah cara standar untuk mengakhiri suatu perintah SQL sehingga memungkinkan untuk mengeksekusi lebih dari satu perintah SQL
DML vs DDL Data Manipulation Language (DML) Digunakan untuk memanipulasi data dalam database, yang meliputi: pengambilan, perubahan, penghapusan dan penambahan data. Data Definition Language (DDL) Digunakan untuk mendefiniskan schema database, yang meliputi: pembuatan dan pengubahan database, pembuatan dan pengubahan table, dll.
DML Data Manipulation Language (DML) SELECT ektrak data UPDATE update data DELETE menghapus dat INSERT INTO menambahkan data baru
DDL Data Definition Language (DDL) CREATE DATABASE membuat database ALTER DATABASE memodifikasi database CREATE TABLE membuat tabel ALTER TABLE memodifikasi tabel DROP DATABASE menghapus database DROP TABLE menghapus tabel CREATE INDEX membuat index (search key) DROP INDEX menghapus index
Let s practice (part 1) Basic SQL
Database Film 101 Gone with the Wind 1939 Victor Fleming 102 Star Wars 1977 George Lucas 103 The Sound of Music 1965 Robert Wise 104 E.T. 1982 Steven Spielberg 105 Titanic 1997 James Cameron 106 Snow White 1939 Null 107 Avatar 2009 James Cameron 108 Raiders of the Lost Ark 1981 Steven Spielberg 201 Sarah Martinez 202 Daniel Lewis 203 Brittany Harris 204 Mike Anderson 205 Chris Jackson 206 Elizabeth Thomas 207 James Cameron 208 Ashley White 201 101 2 202 106 4 203 103 2 203 108 4 204 101 6 205 103 3 205 104 2 205 108 4 206 107 3 206 106 5 207 107 5 208 104 3
SELECT FROM Tampilan daftar judul film. SELECT title FROM ; select title from movie; SELECT TITLE FROM MOVIE; Ingat SQL bersifat case insensitive
SELECT FROM Tampilan daftar sutradara film. SELECT director FROM ; SELECT DISTINCT director FROM ; Ingat SQL bersifat multiset Digunakan untuk menghilangkan record / tuple dengan nilai yang sama
SELECT FROM Tampilan isi tabel. SELECT *FROM ; * adalah karakter spesial yang digunakan untuk menampilkan seluruh tabel yang ada dalam relasi.
SELECT FROM WHERE Cari judul film yang disutradarai oleh James Cameron SELECT title FROM movie WHERE director = "James Cameron"; Tanda petik ( ) digunakan untuk menyatakan nilai dalam bentuk STRING
SELECT FROM WHERE Cari judul film yang dibuat setelah tahun 1980 SELECT title FROM movie WHERE year > 1980; Tanda =, <>, >, >=, <, <= digunakan untuk membandingkan nilai. Dapat digunakan di hampir semua tipe data, termasuk STRING.
SELECT FROM WHERE OR / AND Cari judul film yang disutradarai oleh James Cameron yang dibuat setelah tahun 2000 SELECT title FROM movie WHERE director = "James Cameron AND year > 2000;
SELECT FROM WHERE OR / AND Cari judul film yang dibuat sebelum tahun 2000 yang disutradarai oleh Steven Spielberg atau James Cameron SELECT title FROM WHERE year < 2000 AND director = "Steven Spielberg" OR director = "James Cameron"; SALAH
SELECT FROM WHERE OR / AND Cari judul film yang dibuat sebelum tahun 2000 yang disutradarai oleh Steven Spielberg atau James Cameron SELECT title FROM WHERE year < 2000 AND (director = "Steven Spielberg" OR director = "James Cameron"); BENAR
SELECT, FROM ORDER BY Tampilan daftar judul dan nama sutradara film yang diurut berdasarkan nama sutradara SELECT title, director FROM ORDER BY director;
Let s practice (part 2) Dealing with multiple table
SELECT FROM,. WHERE Tampilkan daftar judul film dan stars rating SELECT DISTINCT title, stars FROM, WHERE.mID =.mid; Kerena terdapat lebih dari 1 kolom yang bernama mid maka perlu disertakan nama tabel di depan nama kolom tersebut.
SELECT FROM,. WHERE Tampilkan daftar judul film dan stars rating yang memiliki stars rating 4 atau 5 SELECT DISTINCT title, stars FROM, WHERE.mID =.mid AND (stars = 4 OR stars = 5);
SELF JOIN Tampilkan ID film dan dua ID reviewer yang mereview film yang sama SELECT R1.mID, R1., R2. FROM R1, R2 WHERE R1.mID = R2.mID AND R1. < R2.; Perlu membuat alias table, karena self join akan menggabungkan 1 tabel yang sama
UNION Tampilkan daftar nama sutradara dan reviewer SELECT director FROM UNION SELECT FROM ;
UNION Tampilkan daftar nama sutradara dan reviewer SELECT director AS nama FROM UNION SELECT AS nama FROM ;
INTERSECT Tampilkan daftar nama sutradara yang juga merupakan nama reviewer SELECT director AS nama FROM INTERSECT SELECT AS nama FROM ; Sayangnya tidak ada perintah intersect di MySQL, tapi tak perlu kuatir karena operasi intersect bisa dilakukan dengan cara lain
INTERSECT Tampilkan daftar nama sutradara yang juga merupakan nama reviewer SELECT DISTINCT director AS nama FROM, WHERE director = ;
EXCEPT Tampilkan daftar nama sutradara yang bukan merupakan nama reviewer SELECT director AS nama FROM EXCEPT SELECT AS nama FROM ; Sayangnya tidak ada perintah intersect di MySQL, tapi tak perlu kuatir karena operasi intersect bisa dilakukan dengan cara lain
EXCEPT Tampilkan daftar nama sutradara yang bukan merupakan nama reviewer SELECT DISTINCT director AS nama FROM, WHERE director <> ; SALAH
EXCEPT Tampilkan daftar nama sutradara yang bukan merupakan nama reviewer SELECT DISTINCT director AS nama FROM WHERE director NOT IN (SELECT FROM ); BENAR
Selamat belajar SELESAI.
Daftar Pustaka http://www.w3schools.com/sql/default.asp http://www.db-class.org/course/class/index