Professional Documents
Culture Documents
PRE TEST:
a. Apa yang dimaksud dengan Basis Data?
b. Sebutkan contoh basis data yang diketahui!
c. Sebutkan bagian-bagian dalam basis data!
d. Apa yang dimaksud dengan Sistem Basis Data?
e. Apa yang dimaksud dengan Perangkat Lunak Manajemen Basis Data?
TIU:
a. Mahasiswa mampu memahami konsep dasar SQL dalam membangun Database.
b. Mahasiswa mampu mengenali dan membedakan jenis perintah SQL.
c. Mahasiswa mengerti serta mampu menggunakan fitur-fitur umum SQL server.
Apakah SQL?
SQL adalah singkatan dari Structured Query Language yang merupakan sebuah bahasa yang
digunakan untuk mengakses dan memanipulasi data dalam basis data relasional. Saat ini hampir semua
server basis data yang ada mendukung bahasa ini untuk melakukan manajemen datanya.
SQL merupakan standar ANSI (American National Standards Institute) yang dimulai pada tahun
1986. Standar ini sering disebut dengan SQL86. Standar tersebut direvisi pada tahun 1989 dan pada
tahun 1992 direvisi kembali yang dikenal dengan SQL92. Pada tahun 1999 dikeluarkan standar baru yaitu
SQL99, akan tetapi kebanyakan implementasi mereferensi pada SQL92.
Syntax SQL
Syntax dapat berarti studi tentang aturan linguistik dan pola. Setiap bahasa pemrograman,
termasuk SQL, harus mengikuti seperangkat unik pedoman. Pedoman tersebut meliputi penggunaan
tanda baca, spasi, operator matematika, klausa, serta karakter khusus yang memiliki arti khusus bila
digunakan dalam perintah SQL dan pernyataan query. Pedoman inilah yang menjadi dasar utama dalam
penulisan syntax.
Salah satu pedoman dalam penulisan syntax SQL adalah tidak adanya “case sensitive”, artinya
penulisan dengan syntax dengan menggunakan upper case maupun lower case akan menghasilkan
perintah yang sama.
Contohnya:
USE NORTHWIND; dengan use Northwind; akan memiliki arti yang sama
Penggunaan tanda semicolon (;) diakhir penulisan syntax juga tidak mutlak diperlukan, karena
pada beberapa DBMS tertentu, tanda semicolon dapat tidak dituliskan atau bersifat opsional.
SQL menyediakan beberapa jenis perintah yang dapat digunakan untuk mengolah database,
diantaranya adalah: Data Definition Language (DDL), Data Manipulation Language (DML), dan Data
Control Language (DCL).
DDL berisi sekumpulan perintah yang dapat digunakan untuk mendefinisikan, mengubah, serta
menghapus database dan objek-objek yang diperlukan dalam database, misalnya tabel, view, user, dan
sebagainya. Secara umum, DDL yang digunakan adalah CREATE untuk membuat objek baru, USE untuk
menggunakan objek, ALTER untuk mengubah objek yang sudah ada, dan DROP untuk menghapus suatu
objek. DDL dapat dikatakan sebagai sebuah perintah SQL yang berhubungan dengan pendefinisian dan
pembangunan struktur dari suatu database.
DML berisi sekumpulan perintah yang berguna untuk melakukan modifikasi dan pengambilan data
pada suatu database. Perintah modifikasi data diantaranya adalah untuk penambahan (insert),
pembaruan (update) dan penghapusan (delete).
DCL adalah bagian inti dari SQL yang memiliki kemampuan untuk mengatur hak akses terhadap
sebuah database. Perintah-perintah yang termasuk dalam DCL diantaranya adalah:
Commit; Merupakan perintah yang digunakan untuk memindahkan transaksi dari memory
pemrosesan ke database atau menyimpan secara permanen perubahan-perubahan kedalam
database.
Rollback; Merupakan perintah yang digunakan untuk membatalkan transaksi yang belum di commit
atau membatalkan perubahan-perubahan terakhir dari perintah commit/rollback terakhir.
Grant; Merupakan perintah yang digunakan untuk memberi hak akses bagi seorang user terhadap
suatu tabel atau view.
Revoke; Merupakan perintah yang digunakan untuk menghapus hak akses bagi seorang user
terhadap suatu tabel atau view.
Catatan:
Perintah DCL merupakan perintah yang dikhususkan bagi user dengan akses sebagai Database
Administrator, sehingga tidak semua user dapat menggunakan perintah ini.
PERINTAH-PERINTAH SQL
Pada Bab ini akan dijelaskan tentang perintah-perintah umum yang digunakan untuk mendefinisikan
serta memanipulasi data dalam suatu database. Perintah-perintah tersebut tergabung dalam perintah
Data Definition Language (DDL) dan Data Manipulation Language (DML).
Perintah-perintah DDL (Data Definition Language)
SQL CREATE DATABASE
Pembuatan database dapat dilakukan dengan menggunakan dua cara. Yaitu dengan menggunakan
menu yang ada pada SQL Server Management Studio dan menggunakan syntax Create database.
a. Menggunakan Menu SQL Server Management Studio.
Setelah membuka SQL Server Management Studio, cukup mengklik kanan pada folder Database
dari Object Explorer, kemudian pilih pada menu New Database.
Kemudian akan muncul sebuah window baru dimana Anda dapat mengisi sebuah kolom untuk
membuat nama dari database yang akan Anda buat. Misalnya pada gambar berikut Anda akan
membuat database dengan nama “MyDatabase”.
Setelah mengisi kolom nama tersebut, kemudian dilanjutkan dengan menekan tombol “OK” untuk
melanjutkan membuat database yang Anda inginkan. Apabila sudah berhasil, maka database yang
baru Anda buat akan terlihat dalam Folder Database yang ada pada Object Explorer.
Setelah window New Query terbuka, Anda dapat mengetikkan syntax Create Database
didalamnya. Format syntax Create Database adalah sebagai berikut:
CREATE DATABASE database_name
Jadi untuk membuat database dengan nama “MyDatabase”, Anda harus mengetikkan perintah
berikut:
CREATE DATABASE MyDatabase
Untuk dapat mengeksekusi perintah tersebut, pertama-tama Anda harus memilih (blok) pada baris
perintah yang akan dieksekusi, kemudian dilanjutkan dengan menekan tombol ”Execute” atau
dapat juga menggunakan tombol F5 pada keyboard. Setelah mengeksekusi query ini, SQL akan
memberitahu Anda bahwa permintaan Anda telah berjalan dengan sukses dan database telah
berhasil dibuat.
Sekarang Anda telah memiliki sebuah database dengan nama “MyDatabase”, untuk membuat
tabel dan objek-objek lainnya pada database tersebut menggunakan query, Anda harus
menjadikan database tersebut aktif terlebih dahulu. Caranya dapat dengan mengeksekusi syntax
SQL berikut:
USE MyDatabase
Catatan:
Anda tidak dapat membuat beberapa database dengan nama yang sama, jadi apabila Anda telah
berhasil mengeksekusi perintah Create Database, maka perintah tersebut tidak dapat dieksekusi
lagi, kecuali Anda mengganti nama database yang akan dibuat.
Tips:
Buatlah nama database yang mencerminkan nama enterprise/perusahaan/organisasi, bukan
kegiatan operasionalnya. Contoh: DB_SidoTampil bukan DB_PenjualanSidoTampil.
Pada contoh syntax berikut kita akan membuat sebuah tabel dengan nama “Persons”.
CREATE TABLE Persons
(
P_Id int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
Field “P_Id” memiliki tipe “int” dan akan digunakan untuk menyimpan data bertipe numerik.
Sedangkan field “LastName”, “FirstName”, “Address”, dan “City” bertipe “varchar” dengan panjang 255
karakter, artinya field-field tersebut dapat menyimpan data bertipe alfanumerik dengan panjang
maksimum adalah 255 karakter (termasuk spasi).
Untuk lebih jelas tentang tipe data, berikut adalah tabel yang menunjukkan tipe data apa saja yang
digunakan dalam MS SQL Server.
Tipe Data Character
Data type Description
char(n) Fixed-length character string. Maximum 8,000 characters
varchar(n) Variable-length character string. Maximum 8,000 characters
varchar(max) Variable-length character string. Maximum 1,073,741,824 characters
text Variable-length character string. Maximum 2GB of text data
Tips:
Buatlah nama field yang mencerminkan fungsinya. Untuk tipe data dan panjang data disesuaikan
dengan kebutuhan dan kapasitas dari media penyimpanan (storage) yang Anda miliki.
POST TEST:
a. Jelaskan jenis-jenis perintah SQL.
b. Buat sebuah Database dengan menggunakan Perintah SQL dengan nama database sesuai dengan
NIM.
c. Buat sebuah tabel dengan nama tabel “Persons” dengan struktur sebagai berikut:
Nama Panjan
Tipe Data
Kolom g
P_Id Int
LastName Varchar 255
FirstName Varchar 255
Address Varchar 255
City Varchar 255
SQL CONSTRAINT 1 (Not Null, Unique, Primary Key, Foreign Key)
PRE TEST:
a. Jelaskan jenis-jenis perintah SQL.
b. Sebut dan jelaskan beberapa tipe data dalam SQL.
c. Sebut dan jelaskan fitur-fitur pada SQL Server.
d. Apa yang dimaksud dengan Primary Key, Foreign Key, NULL Values,
TIU:
a. Mahasiswa mengerti konsep constraint pada SQL.
b. Mahasiswa mengenali jenis-jenis constraint dan fungsinya dalam SQL.
c. Mahasiswa mampu membuat dan mengembangkan fungsi constraint (Not Null, Unique, Primary
Key, dan Foreign Key) dalam SQL.
d. Mahasiswa mampu menggunakan perintah ALTER TABLE untuk merubah struktur constraint suatu
tabel.
Constraints adalah batasan yang digunakan untuk membatasi tipe data yang dapat masuk ke tabel.
Constraints dapat dideklarasikan pada saat sebuah tabel akan dibuat (dengan pernyataan CREATE TABLE)
atau setelah tabel tersebut sudah dibuat (dengan pernyataan ALTER TABLE).
Kita juga dapat membuat nama untuk constraint unique tersebut, berikut contohnya:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)
)
Berikut adalah contoh perintah untuk membuat constraint unique pada tabel yang sudah ada
menggunakan perintah ALTER:
ALTER TABLE Persons
ADD UNIQUE (P_Id)
atau
ALTER TABLE Persons
ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)
Berikut adalah contoh syntax SQL untuk menghapus constraint unique dari suatu tabel:
ALTER TABLE Persons
DROP CONSTRAINT uc_PersonID
Catatan:
UNIQUE Constraint berbeda dengan PRIMARY KEY. Anda dapat memiliki lebih dari satu Unique
Constraint, namun hanya dapat memiliki satu buah Primary Key saja. Berbeda dengan Primary Key,
fungsi dari Unique Constraint bukan sebagai pengenal suatu record, melainkan hanya sebagai
pembeda nilai pada suatu kolom saja.
Kita juga dapat memberi nama pada constraint Primary Key yang kita buat:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
)
Catatan:
Pada perintah SQL diatas, kita membuat sebuah Primary Key dengan nama pk_PersonID, namun
primary key tersebut dibangun dari dua buah field yaitu P_Id dan LastName.
Berikut adalah contoh syntax SQL untuk membangun Primary Key dengan menggunakan perintah
ALTER:
ALTER TABLE Persons
ADD PRIMARY KEY (P_Id)
atau
Catatan:
Apabila Anda menggunakan perintah ALTER untuk membuat constraint Primary Key, maka
sebelumnya Anda harus memastikan bahwa field yang akan dijadikan Primary Key tersebut sudah
bersifat NOT NULL.
Untuk menghapus constraint Primary Key dari suatu tabel, Anda dapat menggunakan contoh
perintah SQL berikut:
ALTER TABLE Persons
DROP CONSTRAINT pk_PersonID
SQL Foreign Key Constraint
Foreign Key adalah suatu field yang akan mereferensikan suatu Primary Key yang ada pada tabel
lainnya. Fungsi utamanya adalah untuk memastikan integritas referensial data yang ada dalam database.
Berikut adalah contoh ilustrasinya:
Tabel Persons
Tabel Orders
Field “P_Id” pada tabel “Orders” mengacu pada field “P_Id” pada tabel “Persons”, dimana “P_Id”
pada tabel “Persons” adalah Primary Key, sedangkan “P_Id” pada tabel “Orders” adalah Foreign Key
dari tabel “Orders”. Foreign Key digunakan untuk mencegah kesalahan relasi antara tabel-tabel tersebut.
Berikut adalah contoh syntax SQL untuk membuat sebuah Foreign Key:
CREATE TABLE Orders
(
O_Id int NOT NULL PRIMARY KEY,
OrderNo int NOT NULL,
P_Id int FOREIGN KEY REFERENCES Persons(P_Id)
)
Berikut adalah contoh syntax SQL untuk memberi nama pada Foreign Key Constraint yang akan
dibuat:
CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
PRIMARY KEY (O_Id),
CONSTRAINT fk_PerOrders FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)
)
Kita juga dapat menambahkan Foreign Key terhadap tabel yang sudah ada sebelumnya dengan
menggunakan perintah ALTER:
ALTER TABLE Orders
ADD FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)
atau
Untuk menghapus sebuah Foreign Key kita dapat menggunakan perintah SQL berikut ini:
ALTER TABLE Orders
DROP CONSTRAINT fk_PerOrders
POST TEST:
a. Sebut dan jelaskan fungsi dari constraint yang sudah dibahas.
b. Membuat tabel (bebas) dengan menggunakan constraint yang telah dibahas.
TIU:
a. Mahasiswa mampu membuat dan mengembangkan fungsi constraint lanjutan (Check, Default)
dalam SQL.
b. Mahasiswa mengerti konsep Auto Increment dalam SQL.
c. Mahasiswa mampu membuat dan mengembangkan konsep Auto Increment dalam SQL.
Kita juga dapat membuat check constraint untuk lebih dari satu field:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes')
)
Berikut adalah contoh syntax SQL untuk membuat check constraint pada sebuah tabel yang sudah
ada dengan menggunakan perintah ALTER:
ALTER TABLE Persons
ADD CHECK (P_Id>0)
atau
Untuk menghapus check constraint dari suatu tabel kita dapat menggunakan syntax SQL berikut:
ALTER TABLE Persons
DROP CONSTRAINT chk_Person
Berikut adalah contoh syntax SQL untuk menggunakan suatu fungsi sebagai nilai ekspresi dari
suatu default constraint:
CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
OrderDate date DEFAULT GETDATE()
)
Kita dapat membuat default constraint pada sebuah tabel yang sudah ada sebelumnya dengan
menggunakan perintah ALTER:
ALTER TABLE Persons
ALTER COLUMN City SET DEFAULT 'SANDNES'
Untuk menghapus suatu default constraint kita dapat menggunakan perintah SQL berikut:
ALTER TABLE Persons
ALTER COLUMN City DROP DEFAULT
Tips:
Gunakanlah default constraint pada suatu field yang bertipe NOT NULL dan bukan PRIMARY KEY.
Hal ini akan membantu menjaga integritas data yang akan disimpan pada tabel tersebut.
SQL Auto-Increment
Auto-increment akan menjadikan field pada suatu tabel akan terisi dengan suatu nomor unik
secara otomatis pada saat ada suatu record baru yang dimasukkan ke dalam tabel tersebut. Karena nilai
yang dihasilkan oleh auto-increment selalu unik, maka kita dapat memberlakukan auto-increment ini
pada sebuah field yang menjadi Primary Key. Sehingga kita akan mendapatkan nilai yang unik dengan
mudah tanpa harus membuat fungsi tertentu. Kita dapat menentukan nilai awal dan nilai increment yang
akan di-generate setiap ada record baru yang ditambahkan ke tabel tersebut.
Berikut adalah contoh syntax SQL untuk membentuk auto-increment pada tabel Person:
CREATE TABLE Persons
(
P_Id int PRIMARY KEY IDENTITY,
LastName varchar(255) NOT NULL,
FirstName varchar(255)
)
Microsoft SQL Server menggunakan keyword “IDENTITY” untuk membentuk suatu field menjadi
auto-increment. Dimana secara default, nilai awal dari auto increment ini adalah 1, dengan nilai kenaikan
adalah 1. Namun kita juga dapat merubah nilai tersebut, misalnya kita akan membuat nilai awalnya
adalah 10, dan nilai kenaikannya adalah 5, maka kita dapat menggunakan perintah sebagai berikut:
Untuk memasukkan record baru ke dalam tabel “Persons” yang telah berisi auto-increment, kita
tidak perlu mengisi nilai pada field “P_Id”.
Perintah SQL diatas akan menginputkan record baru ke tabel “Person”. Dimana field “P_Id” akan
secara otomatis terisi dengan nilai unik.
POST TEST:
a. Buat sebuah tabel dengan struktur sebagai berikut:
Nama Tipe Data Panjang Constraints Auto
Kolom Increment
OrderId Int Primary True
Key
CustomerId Varchar 10
EmployeeId Varchar 255
OrderDate DateTime
ShipName Varchar 255
TIU:
a. Mahasiswa mengerti tentang konsep dasar perintah drop, truncate, dan alter table dalam SQL.
b. Mahasiswa mampu menggunakan dan mengembangkan perintah drop, truncate, dan alter table
dalam SQL.
SQL DROP
Syntax SQL ini digunakan untuk menghapus suatu objek dalam database, seperti menghapus
index, tabel, atau database itu sendiri.
Drop Table
Berikut adalah format syntax SQL untuk menghapus tabel dari suatu database:
DROP TABLE table_name
Truncate Table
Perintah ini digunakan untuk menghapus seluruh data yang terkandung dalam suatu tabel (bukan
untuk menghapus tabel) .
TRUNCATE TABLE table_name
Drop Database
Berikut adalah format syntax SQL untuk menghapus suatu database:
DROP DATABASE database_name
Catatan:
Kita harus berhati-hati dalam menggunakan perintah DROP, karena sekali objek tersebut telah
terhapus dari database, kita tidak dapat lagi mengembalikan objek tersebut (kecuali sudahpernah
dilakukan backup sebelumnya).
SQL ALTER Table
Syntax SQL ini digunakan untuk merubah struktur dari suatu tabel. Perubahan struktur tersebut
dapat berupa menambahkan, mengubah, atau menghapus suatu field dari suatu tabel. Format syntax
SQL untuk menambahkan field baru pada sebuah tabel adalah sebagai berikut:
ALTER TABLE table_name
ADD column_name datatype
Misalnya kita akan menambahkan sebuah field baru dengan nama “DateOfBirth” pada tabel
“Persons”, maka berikut ini adalah syntax SQL yang akan kita gunakan:
ALTER TABLE Persons
ADD DateOfBirth date
Format syntax SQL untuk merubah suatu field pada sebuah tabel adalah sebagai berikut:
ALTER TABLE table_name
ALTER COLUMN column_name datatype
Misalnya kita akan merubah tipe data dari field “DateOfBirth” pada tabel “Persons” dari Date
menjadi Year, maka berikut ini adalah syntax SQL yang akan kita gunakan:
ALTER TABLE Persons
ALTER COLUMN DateOfBirth year
Format syntax SQL untuk menghapus suatu field pada sebuah tabel adalah sebagai berikut:
ALTER TABLE table_name
DROP COLUMN column_name
Misalnya kita akan menghapus field “DateOfBirth” dari tabel “Persons”, maka berikut ini adalah
syntax SQL yang akan kita gunakan:
ALTER TABLE Persons
DROP COLUMN DateOfBirth
POST TEST:
Kembangkan perintah SQL DROP, TRUNCATE, dan ALTER TABLE terhadap tabel-tabel pada database
Northwind.
DML 1 (SELECT, DISTINCT, KLAUSA WHERE, SQL OPERATOR)
PRE TEST:
a. Jelaskan ulang mengenai DDL dan DML!
b. Latihan drop, truncate, dan alter table ?
TIU:
a. Mahasiswa mengerti tentang konsep dasar perintah-perintah DML (select, distinct, dan klausa
where dalam SQL).
b. Mahasiswa mampu menggunakan dan mengembangkan perintah DML (select, distinct, dan klausa
where dalam SQL).
c. Mahasiswa mengerti dan mampu mengenali operator-operator yang dapat digunakan pada klausa
WHERE.
SQL SELECT
Pernyataan SELECT digunakan untuk memilih data dari database. Hasil dari perintah SELECT
disimpan dalam tabel hasil yang disebut result-set. Berikut adalah format syntax SQL Select:
SELECT column_name(s)
FROM table_name
atau
Sekarang kita akan memilih isi dari field bernama "LastName" dan "FirstName" dari tabel di atas,
maka perintah SQL yang kita gunakan adalah sebagai berikut:
SELECT LastName,FirstName FROM Persons
Hasil (result-set) yang akan muncul dari perintah diatas adalah:
LastName FirstName
Hansen Ola
Svendson Tove
Pettersen Kari
Untuk menampilkan semua record dan kolom pada tabel “Persons” kita dapat menggunakan
perintah berikut:
SELECT * FROM Persons
Catatan:
SQL tidak Case-Sensitive, jadi perintah “SELECT” dengan “select” memiliki fungsi yang sama.
Tanda bintang/asterisk (*) adalah cara cepat untuk memilih semua kolom yang akan ditampilkan ke
dalam result-set.
SQL DISTINCT
Dalam satu tabel, ada kalanya suatu field (non Primary Key) dapat mengandung nilai yang sama.
Ini tidak masalah, namun terkadang kita ingin menampilkan nilai yang berbeda dari field tersebut, dan
dengan menggunakan keyword SQL Distinct, hal tersebut dapat dimungkinkan. Berikut adalah format
syntax SQL Distinct:
SELECT DISTINCT column_name(s)
FROM table_name
Misalnya pada tabel “Persons” dibawah ini, dimana pada field “City” terdapat nilai yang sama yaitu
“Sandnes”.
P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
Untuk menampilkan nilai yang berbeda dari field “City” pada tabel diatas, maka kita dapat
menggunakan perintah SQL berikut:
SELECT DISTINCT City FROM Persons
SQL WHERE
SQL Where adalah klausa yang digunakan untuk memilih record yang memenuhi suatu kriteria
tertentu. Kriteria ini biasanya suatu expressi Boolean (bernilai true atau false). Apabila suatu record
memenuhi kriteria yang dimasukkan, maka record tersebut akan ditampilkan pada result-set. Sebaliknya,
record yang tidak memenuhi kriteria yang dimasukkan tidak akan ditampilkan ke dalam result-set.
Berikut adalah format penggunaan SQL Where:
SELECT column_name(s)
FROM table_name
WHERE column_name operator value
Misalnya kita ingin menampilkan data dari tabel “Persons” dimana field “City” bernilai “Sandnes”,
perintah SQL yang digunakan adalah sebagai berikut:
SELECT * FROM Persons
WHERE City='Sandnes'
SQL menggunakan tanda petik / quote (‘) pada nilai expresi bertipe teks yang dimasukkan pada
klause Where, namun untuk nilai expresi bertipe numerik kita dapat tidak menggunakan tanda petik
tersebut. Contohnya adalah sebagai berikut:
Nilai ekspresi bertipe teks yang benar:
SELECT * FROM Persons WHERE FirstName='Tove'
Catatan:
Kita dapat menggunakan tanda kutip/double quote (“) ketika membuat nilai ekspresi pada
beberapa database management system.
Berikut adalah beberapa operator yang dapat dipergunakan pada klausa Where
Operator Keterangan
= Sama dengan
<> Tidak sama dengan
> Lebih besar dari
< Kurang dari
>= Lebih besar dari atau sama dengan
<= Kurang dari atau sama dengan
BETWEEN Diantara rentang nilai tertentu
LIKE Pencarian berdasarkan pola tertentu
IN Spesifikasi beberapa nilai tertentu (berbentuk daftar nilai)
POST TEST:
Kembangkan perintah SQL DROP, TRUNCATE, ALTER TABLE, SELECT, DISTINCT, dan WHERE CLAUSE
terhadap tabel-tabel pada database Northwind.
DML 2 (SQL AND & OR, ORDER BY, SQL INSERT, UPDATE, dan DELETE)
PRE TEST:
a. Sebut dan jelaskan operator yang dapat digunakan pada klausa WHERE yang telah dibahas pada
pertemuan sebelumnya!
b. Apa yang dimaksud dengan AND dan OR?
TIU:
a. Mahasiswa mengerti tentang konsep dasar dari operator AND dan OR dalam SQL.
b. Mahasiswa mampu menggunakan dan mengembangkan penggunaan operator AND dan OR dalam
SQL.
c. Mahasiswa mampu menggunakan keyword ORDER BY untuk mengurutkan record pada result set.
d. Mahasiswa mampu menambahkan, merubah, dan menghapus record pada tabel menggunakan
perintah INSERT, UPDATE, dan DELETE.
AND dan OR adalah operator yang digunakan untuk memfilter record pada tabel dengan
menggunakan beberapa kondisi atau ekspresi sekaligus. Operator AND akan menampilkan record
dengan syarat dimana kondisi pertama dan kondisi kedua bernilai benar. Sedangkan operator OR akan
menampilkan record dengan syarat dimana salah satu diantara dua kondisi tersebut bernilai benar.
AND OR
TRUE TRUE TRUE TRUE
TRUE TRUE
1=1 1=1 1=1 1=1
TRUE FALSE TRUE FALSE
FALSE TRUE
1=1 1>1 1=1 1>1
FALSE FALSE FALSE FALSE
FALSE FALSE
1>1 1>1 1>1 1>1
Misalnya kita memiliki sebuah tabel dengan nama “Persons” sebagai berikut:
P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
Sekarang kita akan memilih data dari tabel “Persons” dimana pada kolom “FirstName” bernilai
"Tove" DAN pada kolom “LastName” bernilai "Svendson", perintah SQL yang kita gunakan adalah
sebagai berikut:
SELECT * FROM Persons
WHERE FirstName='Tove'
AND LastName='Svendson'
Sekarang kita akan menampilkan data tabel “Persons” yang pada kolom “FirstName” bernilai
“Tove” ATAU “Ola”, perintah SQL yang kita gunakan adalah sebagai berikut:
SELECT * FROM Persons
WHERE FirstName='Tove'
OR FirstName='Ola'
Sekarang kita akan mengkombinasikan operator AND dengan operator OR dalam satu perintah
SQL. Misalnya kita akan menampilkan data dari tabel “Persons” yang pada kolom “LastName” bernilai
"Svendson" DAN pada kolom “FirstName” bernilai "Tove" ATAU "Ola", perintah SQL yang kita gunakan
adalah sebagai berikut:
SELECT * FROM Persons WHERE
LastName='Svendson'
AND (FirstName='Tove' OR FirstName='Ola')
Tips:
Penggunaan tanda kurung () pada kombinasi operator AND & OR dapat membantu kita untuk
memahami pengelompokkan operator yang kita gunakan.
SQL ORDER BY
SQL Order By adalah keyword SQL yang digunakan untuk melakukan pengurutan hasil perintah
SELECT dalam result-set. Secara default, pengurutan akan dilakukan secara Ascending (ASC) atau dari
urutan terkecil/terendah ke urutan terbesar/tertinggi. Namun apabila kita ingin mengurutkan dengan
urutan sebaliknya, kita dapat menambahkan keyword DESC yang berarti Descending. Dengan demikian,
hasil pada result-set akan diurutkan berdasarkan nilai terbesar/tertinggi ke nilai yang terkecil/terendah.
berikut adalah format penulisan SQL Order By:
SELECT column_name(s)
FROM table_name
ORDER BY column_name(s) ASC|DESC
Misalnya kita memiliki sebuah tabel dengan nama “Persons” sebagai berikut:
P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
4 Nilsen Tom Vingvn 23 Stavanger
Sekarang kita akan menampilkan record dari tabel di atas, namun kita akan mengurutkan record
tersebut berdasarkan nilai terkecil ke nilai terbesar dari field “LastName”, perintah SQL yang kita
gunakan adalah sebagai berikut:
SELECT * FROM Persons
ORDER BY LastName
Catatan:
Dalam suatu tabel, urutan record tidaklah penting, karena urutan akan berubah seiring dengan
penggunaan ekspresi-ekspresi tertentu.
SQL Order By juga dapat digunakan untuk mengurutkan berdasarkan beberapa kolom sekaligus.
SQL INSERT
SQL INSERT adalah perintah yang digunakan untuk memasukkan record atau baris baru ke dalam
suatu tabel. Perintah ini memiliki dua format penulisan yang umum digunakan yaitu sebagai berikut:
Perintah INSERT dibawah ini tidak menspesifikasikan nama field/kolom yang ada pada tabel, jadi
hanya menyertakan nilai yang akan dimasukkan pada field-field tabel tersebut.
INSERT INTO table_name
VALUES (value1, value2, value3,...)
Misalnya kita akan menambahkan record baru ke dalam tabel “Persons” berikut ini:
P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
Untuk perintah SQL Insert yang pertama kita tidak menspesifikasikan nama field pada tabel
“Person” sebagai berikut:
INSERT INTO Persons
VALUES (4,'Nilsen', 'Johan', 'Bakken 2', 'Stavanger')
Pada perintah diatas, kita tidak menspesifikasikan nama field apa saja yang ada pada tabel
“Persons” yang kita akan isi dengan data. Setiap field dipisahkan dengan tanda koma (,), begitu pula nilai
yang kita masukkan dipisahkan dengan tanda koma. Hal yang perlu diperhatikan agar perintah tersebut
dapat berjalan dengan baik adalah, kita harus memastikan bahwa urutan nilai yang akan kita masukkan
sudah sesuai dengan urutan dari field yang ada pada tabel. Karena pada beberapa kasus yang terjadi,
kita terkadang lupa dengan urutan field pada suatu tabel, sehingga kita memasukkan nilai yang salah
pada suatu field. Selain itu, kita harus memastikan bahwa jumlah nilai yang kita masukkan tidak boleh
lebih banyak daripada jumlah field yang ada pada tabel “Persons”.
Misalnya pada tabel “Persons” terdapat 5 (lima) field, maka selain kita tidak boleh lupa urutan dari
nilai yang akan kita simpan terhadap urutan field pada tabel, kita juga tidak boleh memasukkan jumlah
nilai lebih dari 5.
Sekarang misalnya kita ingin memasukkan data pada tabel “Persons” namun hanya pada field
“P_Id”, “LastName”, dan “FirstName” saja, kita dapat menggunakan perintah SQL berikut:
INSERT INTO Persons (P_Id, LastName, FirstName)
VALUES (5, 'Tjessem', 'Jakob')
Pada perintah diatas, kita telah menspesifikasikan beberapa kolom (tidak semua) dari tabel
“Persons”. Artinya, hanya pada field-field tersebut sajalah data akan diisi, pada field lainnya akan
menjadi NULL.
SQL UPDATE
SQL UPDATE adalah perintah yang digunakan untuk merubah nilai dari suatu record pada sebuah
tabel. Format penulisan perintah UPDATE adalah sebagai berikut:
UPDATE table_name
SET column1=value, column2=value2,...
WHERE some_column=some_value
Misalnya kita memiliki sebuah tabel dengan nama tabel “Persons” berikut:
P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
4 Nilsen Johan Bakken 2 Stavanger
5 Tjessem Jakob
Sekarang kita akan merubah nilai dari kolom “Address” dan “City” pada tabel “Persons” dimana
nilai dari kolom “LastName” adalah "Tjessem” dan nilai pada kolom “Firstname” adalah “Jakob",
perintah SQL yang kita gunakan adalah sebagai berikut:
UPDATE Persons
SET Address='Nissestien 67', City='Sandnes'
WHERE LastName='Tjessem' AND FirstName='Jakob'
SQL DELETE
SQL DELETE adalah perintah yang digunakan untuk menghapus suatu record dari tabel. Berikut
adalah format penulisan perintah DELETE:
DELETE FROM table_name
WHERE some_column=some_value
Misalnya kita memiliki sebuah tabel dengan nama “Persons” sebagai berikut:
P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
4 Nilsen Johan Bakken 2 Stavanger
5 Tjessem Jakob Nissestien 67 Sandnes
Sekarang kita akan menghapus sebuah record dari tabel “Persons”, dimana record yang akan kita
hapus adalah record dengan nilai pada field “Lastname” adalah “Tjessem” DAN nilai pada field
“FirstName” adalah “Jakob”, perintah SQL yang kita gunakan adalah sebagai berikut:
DELETE FROM Persons
WHERE LastName='Tjessem' AND FirstName='Jakob'
Perintah diatas hanya akan menghapus record yang sesuai dengan kriteria yang terpenuhi dalam
kalusa WHERE. Tabel “Persons” akan tampil sebagai berikut:
P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
4 Nilsen Johan Bakken 2 Stavanger
Catatan:
Sama seperti pada perintah UPDATE, klausa WHERE pada perintah DELETE berfungsi sebagai
penentu record mana yang akan dihapus sesuai dengan kriteria yang ditentukan.
POST TEST:
Kembangkan perintah SQL AND & OR, ORDER BY, SQL INSERT, UPDATE, dan DELETE terhadap tabel-tabel
pada database Northwind.
SQL JOIN 1 (INNER JOIN)
PRE TEST:
a. Jelaskan ulang konsep Primary Key dan Foreign Key dalam Join Table.
b. Jelaskan tentang kosep Normalisasi!
c. Jelaskan jenis-jenis relasi tabel.
TIU:
a. Mahasiswa mengerti tentang konsep dasar SQL JOIN (Inner Join).
b. Mahasiswa mampu menggunakan dan mengembangkan penggunaan perintah Inner Join untuk
merelasikan 2 (dua) tabel atau lebih.
SQL JOIN
SQL JOIN digunakan untuk membuat relasi antar dua buah tabel atau lebih. Seperti kita ketahui
bersama, dalam sebuah database dapat terdiri dari satu atau lebih tabel yang dapat memiliki relasi
antara satu tabel dengan tabel lainnya. Relasi tersebut pada umumnya dibentuk dari konstruksi Primary
Key dan Foreign Key yang dibangun dengan menggunakan konsep Normalisasi database.
Primary Key adalah suatu field (atau kombinasi dari beberapa field) dengan nilai yang unik yang
digunakan untuk membedakan setiap baris yang ada pada sebuah tabel. Sedangkan Foreign key adalah
suatu field yang akan mereferensikan suatu nilai pada suatu field pada sebuah tabel dengan Primary Key
yang ada pada tabel lainnya. Relasi inilah yang akan digunakan sebagai dasar SQL Join.
Misalkan kita memiliki sebuah tabel yang bernama tabel “Persons”, yaitu sebagai berikut:
P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
Field “P_Id” adalah Primary Key dari tabel “Persons”, sehingga tidak diperkenankan ada nilai dari
field “P_Id” tersebut yang bernilai sama. Field “P_Id” akan membedakan setiap record yang ada
pada tabel “Persons”.
Tabel lainnya adalah tabel “Orders”, yaitu sebagai berikut:
O_Id OrderNo P_Id
1 77895 3
2 44678 3
3 22456 1
4 24562 1
5 34764 15
Pada tabel “Orders” diatas, field “O_Id” adalah Primary Key, sedangkan field “P_Id” adalah
Foreign Key yang mereferensikan field “P_Id” pada tabel “Persons”. Jadi kedua tabel tersebut direlasikan
oleh field “P_Id” pada masing-masing tabel.
SQL Joins dibagi menjadi empat perintah utama, yaitu SQL Inner Join, SQL Left Outer Join, SQL
Right Outer Join, dan SQL Full Join. Penjelasan lebih lengkap untuk perintah utama SQL Join adalah
sebagai berikut:
Misalnya kita memiliki dua buah tabel, yaitu tabel “Persons” sebagai berikut:
P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
Kemudian tabel lainnya adalah tabel “Orders” yaitu sebagai berikut:
O_Id OrderNo P_Id
1 77895 3
2 44678 3
3 22456 1
4 24562 1
5 34764 15
Sekarang kita akan menampilkan record dari tabel “Persons” yang memiliki relasi dengan tabel
“Orders” (perhatikan penentuan Primary dan Foreign Key pada kedua tabel tersebut). Perintah SQL yang
kita gunakan adalah sebagai berikut:
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
INNER JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName
Pada perintah diatas, kita akan menampilkan field “LastName” dan “FirstName” dari tabel
“Persons”, serta field “OrderNo” dari tabel “Orders”. Hasil dari perintah SQL tersebut adalah sebagai
berikut:
LastName FirstName OrderNo
Hansen Ola 22456
Hansen Ola 24562
Pettersen Kari 77895
Pettersen Kari 44678
Tips:
Kita dapat menggunakan SQL Alias untuk memudahkan membuat dan mengenali tabel yang
memiliki nama yang panjang dan kompleks.
POST TEST:
Kembangkan perintah Inner Join terhadap tabel-tabel pada database Northwind.
SQL JOIN 2 (OUTER JOIN) & SQL UNION
PRE TEST:
a. Apa yang dimaksud dengan Join Table.
b. Jelaskan perbedaan Inner Join dan Outer Join.
TIU:
a. Mahasiswa mengerti tentang konsep dasar SQL JOIN (Outer Join).
b. Mahasiswa mengerti jenis-jenis perintah SQL JOIN (Outer Join).
c. Mahasiswa mengerti tentang konsep SQL UNION.
d. Mahasiswa mampu menggunakan dan mengembangkan penggunaan perintah SQL Outer Join dan
SQL UNION.
Misalnya kita memiliki dua buah tabel, yaitu tabel “Persons” sebagai berikut:
P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
Pada perintah diatas, kita akan menampilkan field “LastName” dan “FirstName” dari tabel
“Persons”, serta field “OrderNo” dari tabel “Orders”. Hasil dari perintah SQL tersebut adalah sebagai
berikut:
LastName FirstName OrderNo
Hansen Ola 22456
Hansen Ola 24562
Pettersen Kari 77895
Pettersen Kari 44678
Svendson Tove null
Nilai “null” pada result set diatas berarti “Svendson” tidak memiliki pasangan “OrderNo” pada
tabel “Orders”. Dengan kata lain, perintah diatas akan memunculkan semua record pada tabel “Persons”
tanpa terkecuali.
Misalnya kita memiliki dua buah tabel, yaitu tabel “Persons” sebagai berikut:
P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
Sekarang kita akan menampilkan semua record dari tabel ”Orders” (tabel kedua) baik yang
memiliki maupun tidak memliki pasangan dengan tabel “Persons” (tabel pertama). Perintah SQL yang
kita gunakan adalah sebagai berikut:
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
RIGHT OUTER JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName
Pada perintah diatas, kita akan menampilkan field “LastName” dan “FirstName” dari tabel
“Persons”, serta field “OrderNo” dari tabel “Orders”. Hasil dari perintah SQL tersebut adalah sebagai
berikut:
LastName FirstName OrderNo
Hansen Ola 22456
Hansen Ola 24562
Pettersen Kari 77895
Pettersen Kari 44678
null null 34764
Nilai “null” pada result set diatas berarti OrderNo “34764” pada tabel “Orders” tidak memiliki
pasangan pada tabel “Persons”. Dengan kata lain, perintah diatas akan memunculkan semua record pada
tabel “Orders” tanpa terkecuali.
SQL FULL OUTER JOIN
Perintah ini digunakan untuk menampilkan semua record pada tabel sebelah kiri (tabel pertama)
dan semua record pada tabel sebelah kanan (tabel kedua) walaupun pada kedua tabel tersebut tidak
memiliki pasangan antara satu sama lainnya. Berikut adalah format penulisan perintah SQL Full Outer
Join:
SELECT column_name(s)
FROM table_name1
FULL OUTER JOIN table_name2
ON table_name1.column_name=table_name2.column_name
Misalnya kita memiliki dua buah tabel, yaitu tabel “Persons” sebagai berikut:
P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
Sekarang kita akan menampilkan semua record dari kedua tabel tersebut baik yang memiliki
maupun tidak memliki pasangan antara satu dengan lainnya. Perintah SQL yang kita gunakan adalah
sebagai berikut:
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
FULL OUTER JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName
Pada perintah diatas, kita akan menampilkan field “LastName” dan “FirstName” dari tabel
“Persons”, serta field “OrderNo” dari tabel “Orders”. Hasil dari perintah SQL tersebut adalah sebagai
berikut:
LastName FirstName OrderNo
Hansen Ola 22456
Hansen Ola 24562
Pettersen Kari 77895
Pettersen Kari 44678
Svendson Tove null
null null 34764
Nilai “null” pada result set diatas menunjukkan tidak adanya nilai pasangan antar tabel yang
direlasikan dengan perintah SQL Full Outer Join. Dengan kata lain, perintah diatas akan
memunculkan semua record pada tabel “Persons” dan tabel “Orders” tanpa terkecuali.
SQL UNION
SQL Union digunakan untuk menggabungkan result-set dari dua atau lebih pernyataan SELECT.
Perlu diperhatikan bahwa setiap pernyataan SELECT dalam UNION harus memiliki jumlah kolom yang
sama. Selain itu, kolom tersebut juga harus memiliki tipe data yang sama dan harus dalam urutan yang
sama. Berikut adalah format penulisan perintah SQL Union:
SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2
Misalnya kita memiliki dua buah tabel, yaitu tabel “Employees_Norway” sebagai berikut:
E_ID E_Name
01 Hansen, Ola
02 Svendson, Tove
03 Svendson, Stephen
04 Pettersen, Kari
Pada perintah diatas, akan menampilkan record unik yang terdapat pada kolom “E_Name” dari
kedua tabel dalam satu result set. Hasil dari perintah SQL tersebut adalah sebagai berikut:
E_Name
Hansen, Ola
Svendson, Tove
Svendson, Stephen
Pettersen, Kari
Turner, Sally
Kent, Clark
Scott, Stephen
Catatan:
Pada contoh di atas kita memiliki dua karyawan dengan nama yang sama, dan hanya salah satu
dari daftar tersebut yang akan ditampilkanpada result set. Dengan kata lain, perintah UNION
memilih hanya nilai-nilai yang berbeda (unik). Sedangkan untuk menampilkan semua daftar pada
kedua tabel diatas dapat menggunakan perintah UNION ALL.
Perintah diatas akan menampilkan seluruh record yang terdapat pada kolom “E_Name” dari kedua
tabel dalam satu result set. Hasil dari perintah SQL tersebut adalah sebagai berikut:
E_Name
Hansen, Ola
Svendson, Tove
Svendson, Stephen
Pettersen, Kari
Turner, Sally
Kent, Clark
Svendson, Stephen
Scott, Stephen
POST TEST:
Kembangkan perintah SQL Outer Join dan SQL Union terhadap tabel-tabel pada database Northwind.
SQL ADVANCED 1 (SQL TOP, SQL LIKE, SQL WILDCARD)
PRE TEST:
a. Sebut dan jelaskan operator yang dapat digunakan pada klausa WHERE yang telah dibahas pada
pertemuan sebelumnya!
b. Apa yang dimaksud dengan AND dan OR?
c. Apa yang Anda ketahui tentang SQL TOP, SQL LIKE, SQL WILDCARD?
TIU:
a. Mahasiswa mengerti tentang konsep dasar dari SQL TOP, SQL LIKE, dan SQL WILDCARD.
b. Mahasiswa mampu menggunakan dan mengembangkan penggunaan SQL TOP, SQL LIKE, dan SQL
WILDCARD dalam SQL.
SQL TOP
Klausa TOP digunakan untuk menentukan jumlah baris record yang akan ditampilkan pada result-
set. Klausa ini akan sangat berguna apabila kita bekerja dengan tabel yang memiliki jumlah record yang
sangat banyak. Misalnya pada sebuah tabel yang memiliki ribuan record, apabila kita menampilkan
semua record pada tabel tersebut ke dalam suatu result-set maka akan membutuhkan waktu yang cukup
lama untuk memprosesnya (tergantung pada spesifikasi komputer), karena jumlah record yang banyak
akan berpengaruh pada performance dari komputer. Berikut adalah format perintah klausa SQL TOP:
SELECT TOP number|percent column_name(s)
FROM table_name
Misalnya kita memiliki sebuah tabel dengan nama “Persons” sebagai berikut:
P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
4 Nilsen Tom Vingvn 23 Stavanger
Untuk menampilkan dua record teratas dari tabel tersebut kita gunakan perintah SQL berikut:
SELECT TOP 2 * FROM Persons
Selain untuk menampilkan jumlah record secara spesifik, kita juga dapat menampilkan record
dalam jumlah presentase. Contohnya 20% dari total 1000 baris record pada sebuah tabel adalah 200
record. Untuk menampilkan record dalam jumlah presentase tertentu, kita dapat menambahkan
keyword “percent” dibelakang nilai yang kita masukkan. Misalnya kita akan menampilkan 50% record
dari tabel “Persons”, maka perintah yang kita gunakan adalah sebagai berikut:
SELECT TOP 50 PERCENT FROM Persons
Catatan:
Jumlah record yang ditampilkan dalam bentuk percent pada umumnya dibulatkan kebawah. Seperti
contoh diatas, 50% dari lima record adalah dua record.
SQL LIKE
Operator LIKE digunakan pada klausa WHERE untuk mencari sebuah pola pada suatu field. Format
untuk penulisan operator Like adalah sebagai berikut:
SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern
Misalnya kita memiliki sebuah tabel dengan nama “Persons” sebagai berikut:
P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
Sekarang kita akan menampilkan record dari tabel “Persons” dimana nilai pada field “City” diakhiri
dengan karakter “s”, perintah SQL yang kita gunakan adalah sebagai berikut:
SELECT * FROM Persons
WHERE City LIKE '%s'
Sekarang kita akan menampilkan record dari tabel “Persons” dimana nilai pada field “City”
mengandung kata “tav”, perintah SQL yang kita gunakan adalah sebagai berikut:
SELECT * FROM Persons
WHERE City LIKE '%tav%'
Sekarang kita akan menampilkan record dari tabel “Persons” dimana nilai pada field “City” TIDAK
mengandung kata “tav”, kita dapat menambahkan keyword “NOT” sebelum operator Like, perintah SQL
yang kita gunakan adalah sebagai berikut:
SELECT * FROM Persons
WHERE City NOT LIKE '%tav%'
Catatan:
Tanda % adalah wildcard yang umum digunakan pada operator Like. Wildcard ini akan dibahas
berikutnya.
SQL WILDCARDS
SQL Wildcards digunakan untuk mengganti satu atau beberapa karakter yang kita gunakan sebagai
ekspresi pada klausa WHERE dengan operator LIKE. Berikut adalah wildcards yang dapat digunakan pada
perintah SQL:
Wildcard Keterangan
% Digunakan untuk mengganti beberapa karakter
_ Digunakan untuk mengganti tepat satu karakter
Digunakan untuk mengganti karakter yang terdapat pada daftar karakter
[charlist]
(charlist) yang dimasukkan.
Digunakan untuk mengganti karakter yang tidak terdapat pada daftar
[^charlist]
karakter (charlist) yang dimasukkan.
Misalnya kita memiliki sebuah tabel dengan nama “Persons” sebagai berikut:
P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
Sekarang kita akan menampilkan record pada tabel “Persons” dimana nilai pada field “Address”
dimulai dengan karakter “sa”, perintah SQL yang kita gunakan adalah sebagai berikut:
SELECT * FROM Persons
WHERE City LIKE 'sa%'
Sekarang kita akan menampilkan record pada tabel “Persons” dimana nilai pada field “City”
mengandung kata “nes”, perintah SQL yang kita gunakan adalah sebagai berikut:
SELECT * FROM Persons
WHERE City LIKE '%nes%'
Sekarang kita akan menampilkan record pada tabel “Persons” dimana karakter pertama pada field
“City” dimulai dengan sembarang karakter, kemudian diikuti dengan kata “la”, perintah SQL yang kita
gunakan adalah sebagai berikut:
SELECT * FROM Persons
WHERE FirstName LIKE '_la'
Selanjutnya, kita akan menampilkan record pada tabel “Persons” dimana nilai pada field
“LastName” memiliki pola: dimulai dengan karakter “S”, kemudian diikuti dengan sembarang karakter,
kemudian dilanjutkan dengan kata “end”, kemudian dilanjutkan kembali dengan sembarang karakter,
dan diakhiri dengan kata “on”, perintah SQL yang kita gunakan adalah sebagai berikut:
SELECT * FROM Persons
WHERE LastName LIKE 'S_end_on'
Selanjutnya, kita akan menampilkan record pada tabel “Persons” dimana nilai pada field
“LastName” dimulai dengan karakter “b” atau “s” atau “p”, perintah SQL yang kita gunakan adalah
sebagai berikut:
SELECT * FROM Persons
WHERE LastName LIKE '[bsp]%'
atau
POST TEST:
Kembangkan perintah-perintah SQL TOP, SQL LIKE, SQL WILDCARD terhadap tabel-tabel pada database
Northwind.
SQL ADVANCED 2 (IN, SQL SUB-QUERY, SQL BETWEEN, dan SQL ALIAS)
PRE TEST:
a. Jelaskan fungsi klausa WHERE!
b. Jelaskan operator-operator yang digunakan pada klausa WHERE!
c. Apa yang Anda ketahui tentang SQL IN, SQL SUB-QUERY, SQL BETWEEN, dan SQL ALIAS?
TIU:
a. Mahasiswa mengerti tentang konsep dasar dari SQL IN, SQL SUB-QUERY, SQL BETWEEN, dan SQL
ALIAS.
b. Mahasiswa mampu menggunakan dan mengembangkan penggunaan SQL IN, SQL SUB-QUERY, SQL
BETWEEN, dan SQL ALIAS dalam SQL.
SQL IN
Operator In dapat digunakan untuk memasukkan beberapa nilai sekaligus pada klausa WHERE.
Nilai-nilai tersebut dibuat dalam suatu tanda kurung () dan setiap nilai dipisahkan dengan tanda koma (,).
Format untuk penulisan operator In adalah sebagai berikut:
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value-1,value-2,..., value-n)
Misalnya kita memiliki sebuah tabel dengan nama “Persons” sebagai berikut:
P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
Sekarang kita akan menampilkan data dari tabel “Persons” dimana field “LastName” memiliki nilai
“Hansen” atau “Pettersen”, perintah SQL yang kita gunakan adalah sebagai berikut:
SELECT * FROM Persons
WHERE LastName IN ('Hansen','Pettersen')
Sedangkan untuk menampilkan data dari tabel “Persons” dimana pada field “LastName” TIDAK
bernilai “Hansen” atau “Pettersen”, kita dapat menggunakan perintah SQL berikut:
SELECT * FROM Persons
WHERE LastName NOT IN ('Hansen','Pettersen')
Tips:
Kita dapat memasukkan nilai yang dinamis pada klausa WHERE dengan menggunakan operator In
dan memanfatkan SQL Subquery yang akan dibahas berikutnya.
SQL SUB-QUERY
Operator IN yang sebelumnya telah kita bahas akan menjadi sangat bermanfaat apabila kita
menggunakannya dalam subquery. Secara umum subquery dapat diartikan sebagai suatu perintah SQL
yang berada dalam perintah SQL lainnya. Keuntungannya adalah kita dapat membuat suatu query yang
dinamis, seperti perintah SELECT dengan mengambil nilai pada klausa WHERE dari perintah SELECT
lainnya.
Misalnya kita memiliki dua buah tabel, yaitu tabel “Individual” dan tabel “Publisher” sebagai
berikut:
Tabel “Individual”
IndividualId FirstName LastName UserName
1 Fred Flinstone freddo
2 Homer Simpson homey
3 Homer Brown notsofamous
4 Ozzy Ozzbourne sabbath
5 Homer Gain noplacelike
Tabel “Publisher”
IndividualId AccessLevel
1 Administrator
2 Contributor
3 Contributor
4 Contributor
Sekarang kita akan menampilkan semua data dari tabel “Individual” yang memiliki “AccessLevel”
yaitu sebagai “Contributor”, maka perintah SQL yang kita gunakan adalah sebagai berikut:
SELECT * FROM Individual
WHERE IndividualId IN (SELECT IndividualId
FROM Publisher WHERE AccessLevel = 'Contributor')
SQL BETWEEN
Operator BETWEEN digunakan pada klausa WHERE untuk menampilkan data dalam jangkauan
antara dua nilai. Nilai-nilai yang dimasukkan sebagai jangkauan dapat berupa angka ataupun tanggal.
Format penulisan operator Between adalah sebagai berikut:
SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2
Misalnya kita memiliki sebuah tabel dengan nama “Orders” sebagai berikut:
OrderId CustomerId EmployeeId OrderDate ShipName
1997-01-14
10414 FAMIA 2 Familia Arquibaldo
00:00:00.000
1997-01-17
10418 QUICK 4 QUICK-Stop
00:00:00.000
1997-01-22
10422 FRANS 2 Franchi S.p.A.
00:00:00.000
1997-02-14
10447 RICAR 4 Ricardo Adocicados
00:00:00.000
1997-02-19
10451 QUICK 4 QUICK-Stop
00:00:00.000
Sekarang kita akan menampilkan data dari tebel “Orders” dimana nilai pada field “OrderId” ada
diantara nilai 10410 sampai 10430, maka perintah SQL yang kita gunakan adalah sebagai berikut:
SELECT * FROM Orders
WHERE OrderID BETWEEN 10410 AND 10430
Kemudian kita akan menampilkan data dari tabel “Orders” dimana field “OrderDate” bernilai
antara tanggal 1 Januari 1997 sampai dengan tanggal 31 Januari 1997, maka perintah SQL yang kita
gunakan adalah sebagai berikut:
SELECT * FROM Orders
WHERE OrderDate BETWEEN '1997-02-01' AND '1997-02-20'
Sebaliknya apabila kita ingin menampilkan record pada tabel “Orders” dimana nilai pada field
“OrderDate” TIDAK bernilai tanggal 1 Januari 1997 sampai dengan tanggal 31 Januari 1997, maka
perintah SQL yang kita gunakan adalah sebagai berikut:
SELECT * FROM Orders
WHERE OrderDate NOT BETWEEN '1997-02-01' AND '1997-02-20'
SQL ALIAS
SQL ALIAS digunakan untuk memberi nama alias pada tabel atau field yang kita inginkan. Hal ini
akan dapat membantu kita dalam menuliskan dan mengenali tabel atau field yang memiliki nama terlalu
panjang dan kompleks. Kita bebas untuk menggunakan nama alias yang kita inginkan, namun karena
fungsinya adalah untuk menyederhanakan nama suatu tabel atau field, maka pada umumnya nama alias
dibuat dengan format yang cukup singkat dan jelas. Format penulisan SQL Alias adalah sebagai berikut:
SQL Alias untuk suatu tabel:
SELECT column_name(s)
FROM table_name
AS alias_name
Misalnya kita memiliki sebuah tabel dengan nama “Persons” sebagai berikut:
P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
Kita dapat memberikan nama alias untuk tabel “Persons” tersebut dengan perintah SQL sebagai
berikut:
SELECT p.LastName, p.FirstName
FROM Persons AS p
WHERE p.LastName='Hansen' AND p.FirstName='Ola'
Ketika perintah SQL tersebut dijalankan, tabel “Persons” akan dikenali dengan nama “p”, jadi pada
saat kita akan menampilkan field dari tabel tersebut, kita juga harus mendeklarasikan “p” sebelum
mengetikkan nama field (p.LastName, p.FirstName). Namun perlu diperhatikan bahwa
perintah diatas tidak merubah nama dari tabel “Persons” menjadi “p”, tapi hanya membuat nama
pengenal baru utnuk tabel tersebut.
Sekarang kita akan membuat nama alias untuk field yang ada pada tabel “ Persons” dengan
menggunakan perintah SQL sebagai berikut:
SELECT LastName AS L_Nm, FirstName AS F_Nm
FROM Persons
Nama field “LastName” dan “FirstName” hasil perintah SQL tersebut dikenali sebagai “L_Nm” dan
“F_Nm”. Namun pada struktur tabelnya, nama kedua field tersebut TIDAK berubah.
POST TEST:
Kembangkan perintah SQL IN, SQL SUB-QUERY, SQL BETWEEN, SQL ALIAS terhadap tabel-tabel pada
database Northwind.
SQL ADVANCED 3 (SELECT INTO & SQL DATES)
PRE TEST:
a. Apa yang dimaksud dengan backup (table).
b. Jelaskan tentnag perintah SQL SELECT.
c. Jelaskan tentang perintah SQL INSERT INTO.
d. Jelaskan tentang tipe data DateTime pada SQL.
TIU:
a. Mahasiswa mengerti tentang konsep dasar Backup / menyalin tabel pada SQL dengan menggunakan
perintah SELECT INTO.
b. Mahasiswa mampu menggunakan dan mengembangkan penggunaan perintah SELECT INTO.
c. Mahasiswa mengerti tentang konsep dasar dari SQL Dates.
d. Mahasiswa mampu menggunakan dan mengembangkan fungsi-fungsi SQL Dates (GETDATE,
DATEPART, DATEADD, DATEDIFF).
ATAU
SELECT column_name(s)
INTO new_table_name
FROM old_tablename
Misalnya kita memIliki sebuah tabel dengan nama “Persons” sebagai berikut:
P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
Sekarang kita akan membuat salinan dari tabel tersebut dengan nama tabel “Persons_Backup”,
maka perintah SQL yang kita gunakan adalah sebagai berikut:
SELECT *
INTO Persons_Backup
FROM Persons
Untuk membuat salinan tabel “Persons” dengan memilih beberapa kolom saja, kita dapat
menggunakan perintah SQL berikut:
SELECT LastName,FirstName
INTO Persons_Backup2
FROM Persons
Untuk membuat salinan tabel “Persons” dengan memilih record dengan kriteria tertentu, kita
dapat menambahkan klausa “WHERE” pada perintah SQL Select Into, seperti berikut:
SELECT LastName,FirstName
INTO Persons_Backup3
FROM Persons
WHERE City = 'Sandnes'
SQL DATES
Salah satu bagian tersulit dalam bekerja dengan tipe data “date” adalah memastikan apakah
format tanggal yang akan kita masukkan sudah sesuai dengan format kolom/field pada database atau
belum. Berikut adalah beberapa fungsi SQL Dates yang umum digunakan:
DATEPART(datepart,date)
DatePart Format
year yy, yyyy
quarter qq, q
month mm, m
dayofyear dy, y
day dd, d
week wk, ww
weekday dw, w
hour hh
minute mi, n
second ss, s
millisecond ms
microsecond mcs
nanosecond ns
Sekarang kita akan menampilkan tahun, bulan, dan tanggal dari kolom “OrderDate” pada result-
set dari tabel diatas. Perintah SQL yang kita gunakan adalah sebagi berikut:
SELECT DATEPART(yyyy,OrderDate) AS OrderYear,
DATEPART(mm,OrderDate) AS OrderMonth,
DATEPART(dd,OrderDate) AS OrderDay,
FROM Orders
WHERE OrderId=1
Perintah SQL diatas akan menghasilkan suatu result-set berupa tahun, bulan, dan tanggal yang
diambil dari kolom “OrderDate”, yaitu sebagi berikut:
OrderDa
OrderYear OrderMonth
y
2008 11 11
Number adalah nilai interval yang digunakan untuk menambahkan atau mengurangi nilai
datepart. Nilai positif untuk menambahkan nilai, sedangkan nilai negatif untuk mengurangi nilai.
DatePart Format
year yy, yyyy
quarter qq, q
month mm, m
dayofyear dy, y
day dd, d
week wk, ww
weekday dw, w
hour hh
minute mi, n
second ss, s
millisecond ms
microsecond mcs
nanosecond ns
Startdate adalah tanggal awal, sedangkan Enddate adalah tanggal akhir yang akan dicari selisih
waktunya.
Misalnya kita akan mencari selisih hari dari dua buah tanggal dapat dengan menggunakan
perintah SQL sebagai berikut:
SELECT DATEDIFF(day,'2008-06-05','2008-08-05') AS DiffDate
Perintah diatas akan menghasilkan result-set yang akan menampilkan selisih hari dari tanggal 5
Juni 2008 dan 5 Agustus 2008, yaitu sebagai berikut:
DiffDate
61
Pada perintah diatas nilai tanggal pertama (startdate) lebih awal dibandingkan dengan tanggal
kedua (enddate), sehingga result-set dari perintah tersebut akan menghasilkan nilai negatif.
DiffDate
-61
POST TEST:
Kembangkan perintah SQL Insert Into dan fungsi-fungsi SQL Dates terhadap tabel-tabel yang terdapat
pada Database Northwind.
SQL BUILT IN FUNCTIONS (AVG, COUNT, MAX, MIN, SUM, UPPER, LOWER,
SUBSTRING, LEFT, RIGHT, LEN)
PRE TEST:
a. Sebut dan jelaskan beberapa contoh SQL Functions yang Anda ketahui!
b. Apa yang dimaksud dengan SQl Agregate function?
c. Apa yang dimaksud dengan SQl Scalar function?
d. Kenali SQL Function berikut: AVG, COUNT, MAX, MIN, SUM, UPPER, LOWER, SUBSTRING, LEFT,
RIGHT, dan LEN.
TIU:
a. Mahasiswa mengerti tentang konsep dasar SQL Built In Function.
b. Mahasiswa mampu mengenali jenis-jenis dari SQL Built In Function.
c. Mahasiswa mampu menggunakan dan mengembangkan penggunaan perintah SQL Built In
Function.
SQL memiliki banyak fungsi built-in untuk melakukan perhitungan pada data, fungsi-fungsi
tersebut dibagi menjadi dua bagian, yaitu fungsi agregat (aggregate) dan fungsi skalar (scalar). Fungsi
agregat SQL mengembalikan nilai tunggal, dihitung dari nilai-nilai dalam kolom, sedangkan fungsi skalar
SQL mengembalikan nilai tunggal, berdasarkan pada nilai masukan. Berikut akan dibahas beberapa
fungsi agregat dan scalar yang umum digunakan pada SQL.
Misalkan kita memiliki sebuah tabel dengan nama tabel “Orders” sebagai berikut:
O_I OrderPric
OrderDate Customer
d e
2008/11/1
1 1000 Hansen
2
2008/10/2
2 1600 Nilsen
3
2008/09/0
3 700 Hansen
2
2008/09/0
4 300 Hansen
3
2008/08/3
5 2000 Jensen
0
2008/10/0
6 100 Nilsen
4
Sekarang kita akan menampilkan nilai rata-rata dari kolom OrderPrice dari tabel diatas, perintah
SQL yang kita gunakan adalah sebagai berikut:
SELECT AVG(OrderPrice) AS OrderAverage FROM Orders
Kita juga dapat menggunakan nilai result-set dari hasil fungsi AVG() sebagai kriteria pada suatu
perintah SQL Select, contohnya:
SELECT * FROM Orders
WHERE OrderPrice>(SELECT AVG(OrderPrice) FROM Orders)
Perintah diatas akan menghasilkan suatu result-set yang menampilkan daftar Orders yang memiliki
nilai OrderPrice diatas nilai rata-rata (average) yaitu 950.
O_I OrderPric
OrderDate Customer
d e
2008/11/1
1 1000 Hansen
2
2008/10/2
2 1600 Nilsen
3
2008/08/3
5 2000 Jensen
0
Perintah SQL Count yang digunakan untuk menghitung baris pada suatu kolom dalam sebuah tabel
(Nilai Null pada kolom tersebut tidak akan ikut dihitung):
SELECT COUNT(column_name) FROM table_name
Perintah SQL Count diatas digunakan untuk menghitung jumlah baris pada suatu kolom dengan
nilai yang unik. Dengan kata lain, apabila pada kolom tersebut terdapat lebih dari satu nilai record yang
sama, maka hanya akan tetap dihitung satu kali saja:
SELECT COUNT(DISTINCT column_name) FROM table_name
Misalnya kita memiliki sebuah tabel dengan nama “Orders” yaitu sebagai berikut:
O_I OrderDate OrderPric Customer
d e
1 2008/11/1 1000 Hansen
2
2 2008/10/2 1600 Nilsen
3
3 2008/09/0 700 Hansen
2
4 2008/09/0 300 Hansen
3
5 2008/08/3 2000 Jensen
0
6 2008/10/0 100 Nilsen
4
Sekarang kita akan menghitung jumlah baris pada tabel tersebut, perintah SQL yang kita gunakan
adalah sebagai berikut:
SELECT COUNT(*) AS NumberOfOrders FROM Orders
Hasil dari perintah diatas adalah sebuah result set yang menghasilkan nilai 2, hal tersebut
dikarenakan pada tabel “Orders” hanya terdapat 2 buah record yang nilai pada kolom “Customer”
adalah “Nilsen”, yaitu sebagai barikut:
CustomerNilsen
2
Sekarang kita akan menghitung jumlah Customer yang unik dari tabel "Orders", perintah SQL yang
kita gunakan adalah sebagai berikut:
SELECT COUNT(DISTINCT Customer) AS NumberOfCustomers FROM
Orders
Misalkan kita memiliki sebuah tabel dengan nama tebel “Orders”, yaitu sebagai berikut:
O_Id OrderDate OrderPrice Customer
1 2008/11/12 1000 Hansen
2 2008/10/23 1600 Nilsen
3 2008/09/02 700 Hansen
4 2008/09/03 300 Hansen
5 2008/08/30 2000 Jensen
6 2008/10/04 100 Nilsen
Sekarang kita akan menampilkan nilai tertinggi pada kolom “OrderPrice” dari tabel diatas,
perintah SQL yang kita gunakan adalah sebagi berikut:
SELECT MAX(OrderPrice) AS LargestOrderPrice FROM Orders
Misalkan kita memiliki sebuah tabel dengan nama “Orders”, yaitu sebagai berikut:
O_Id OrderDate OrderPrice Customer
1 2008/11/12 1000 Hansen
2 2008/10/23 1600 Nilsen
3 2008/09/02 700 Hansen
4 2008/09/03 300 Hansen
5 2008/08/30 2000 Jensen
6 2008/10/04 100 Nilsen
Sekarang kita akan menampilkan nilai terendah pada kolom OrderPrice dari tabel diatas, perintah
SQL yang kita gunakan adalah sebagi berikut:
SELECT MIN(OrderPrice) AS SmallestOrderPrice FROM Orders
Misalkan kita memiliki sebuah tabel dengan nama tebel “Orders”, yaitu sebagai berikut:
O_Id OrderDate OrderPrice Customer
1 2008/11/12 1000 Hansen
2 2008/10/23 1600 Nilsen
3 2008/09/02 700 Hansen
4 2008/09/03 300 Hansen
5 2008/08/30 2000 Jensen
6 2008/10/04 100 Nilsen
Sekarang kita akan menampilkan total nilai dari kolom “OrderPrice” pada tabel diatas, perintah
SQL yang kita gunakan adalah sebagai berikut:
SELECT SUM(OrderPrice) AS OrderTotal FROM Orders
Misalkan kita memiliki sebuah tabel dengan nama “Persons”, yaitu sebagai berikut:
P_I LastNam FirstName Address City
d e
1 Hansen Ola Timoteivn Sandnes
10
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
Sekarang kita akan menampilkan isi dari kolom "LastName" dan "FirstName" di atas, dan
mengubah nilai dari kolom "LastName" ke huruf besar (uppercase), perintah SQL yang kita gunakan
adalah sebagai berikut:
SELECT UPPER(LastName) as LastName,FirstName FROM Persons
Misalkan kita memiliki sebuah tabel dengan nama “Persons”, yaitu sebagai berikut:
P_I LastNam FirstName Address City
d e
1 Hansen Ola Timoteivn Sandnes
10
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
Sekarang kita akan menampilkan isi dari kolom "LastName" dan "FirstName" pada tabel di atas,
dan mengubah nilai dari kolom "LastName" ke huruf kecil (lowercase), perintah SQL yang kita gunakan
adalah sebagai berikut:
SELECT LOWER(LastName) as LastName,FirstName FROM Persons
Colum_name adalah nama kolom pada tabel yang akan diambil nilainya. Start adalah posisi
karakter pertama yang akan diambil. Length adalah jumlah atau panjang karakter yang akan ditampilkan.
Misalkan kita memiliki sebuah tabel dengan nama “Persons”, yaitu sebagai berikut:
P_I LastNam FirstName Address City
d e
1 Hansen Ola Timoteivn Sandnes
10
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
Sekarang kita ingin menampilkan 4 (empat) karakter pertama dari kolom “City” pada tabel di atas,
perintah SQL yang kita gunakan adalah sebagai berikut:
SELECT SUBSTRING(City,1,4) as SmallCity FROM Persons
Colum_name adalah nama kolom pada tabel yang akan diambil nilainya. Length adalah panjang
atau jumlah karakter yang akan ditampilkan.
Misalkan kita memiliki sebuah tabel dengan nama “Persons”, yaitu sebagai berikut:
P_I LastNam FirstName Address City
d e
1 Hansen Ola Timoteivn Sandnes
10
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
Sekarang kita akan menampilkan 5 (lima) karakter pertama pada kolom “LastName”, perintah SQL
yang kita gunakan adalah sebagai berikut:
SELECT LEFT(LastName, 5)as LastNameLeft FROM Persons
Colum_name adalah nama kolom pada tabel yang akan diambil nilainya. Length adalah panjang
atau jumlah karakter yang akan ditampilkan.
Misalkan kita memiliki sebuah tabel dengan nama “Persons”, yaitu sebagai berikut:
P_I LastNam FirstName Address City
d e
1 Hansen Ola Timoteivn Sandnes
10
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
Sekarang kita akan menampilkan 5 (lima) karakter terakhir pada kolom “LastName”, perintah SQL
yang kita gunakan adalah sebagai berikut:
SELECT RIGHT(LastName, 5)as LastNameRight FROM Persons
Misalkan kita memiliki sebuah tabel dengan nama “Persons”, yaitu sebagai berikut:
P_I LastNam FirstName Address City
d e
1 Hansen Ola Timoteivn Sandnes
10
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
Sekarang kita ingin menampilkan jumlah karakter dari kolom “Address” pada tabel di atas,
perintah SQL yang kita gunakan adalah sebagai berikut:
SELECT LEN(Address) as LengthOfAddress FROM Persons
POST TEST:
Kembangkan perintah SQL Built In Functions terhadap tabel-tabel yang ada pada database Northwind.