Bab Iv - Bahasa Basis Data (SQL) PDF
Bab Iv - Bahasa Basis Data (SQL) PDF
BAB IV
BAHASA BASIS DATA (SQL)
PENDAHULUAN
Pada materi ini akan dijelaskan tentang Bahasa Basis Data, SQL dan
pembagiannya, sejarah, manfaat, perkembangan SQL serta sintaks-sintaks SQL baik
yang tergolong DML (Data Manipulation Language) maupun DDL (Data Defenition
Language).
Pengetahuan dasar ini diperlukan untuk dapat mengelola basis data
menggunakan bahasa basis data (SQL) sehingga diharapkan setelah mempelajari
materi ini, maka mahasiswa sudah mampu :
1. Menjelaskan tentang Fungsi Bahasa Basis Data, SQL dan pembagian
kelompok SQL
2. Menjelaskan Sejarah SQL
3. Menjelaskan Manfaat SQL
4. Menjelaskan Perkembangan Bahasa SQL
5. Melakukan operasi-operasi pengelolaan basis data menggunakan sintaks-
sintaks SQL
4.1 Pengantar Strutured Query Language (SQL)
DBMS merupakan perantara bagi pemakai dengan basis data. Cara
berinteraksi/berkomunikasi antara pemakai dengan basis data tersebut diatur dalam
suatu bahasa khusus yang ditetapkan oleh perusahaan DBMS. Bahasa itu dapat kita
sebut sebagai Bahasa Basis Data yang terdiri atas sejumlah perintah/statement yang
diformulasikan dan dapat diberikan oleh user dan dikenali/diproses oleh DBMS untuk
29
melakukan suatu aksi/pekerjaan tertentu. Secara singkat, bahasa basis data adalah
bahasa yang dirancang khusus untuk berinteraksi/berkomunikasi dengan database.
Ada banyak sekali bahasa basis data yang pernah dibuat untuk masing-masing
DBMS, namun pada akhirnya yang menjadi standar adalah SQL. SQL adalah
kependekan dari Structured Query Languge. Tidak seperti bahasa-bahasa lainnya,
seperti bahasa percakapan atau bahasa pemrograman, SQL diciptakan dengan sangat
sedikit kata sehingga memberikan cara yang sederhana dan efisien untuk membaca
dan menulis data dari suatu database.
Sebuah bahasa basis data biasanya dapat dipilah ke dalam dua bentuk yaitu :
1. Data Defenition Language (DDL)
Struktur basis data yang menggambarkan desain basis data secara
keseluruhan dispesifikasikan dengan bahasa khusus yang disebut Data
Defenition Language (DDL). Dengan menggunkan DDL, kita dapat
membuat tabel baru, membuat indeks, menentukan struktur tabel dan
mengubah tabel.
2. Data Manipulation Language (DML)
Data Manipulation Language (DML) berisi kumpulan perintah yang
berguna untuk melakukan manipulasi dan pengambilan data pada suatu basis
data. Manipulasi data dapat berupa :
Penyisipan/penambahan data baru ke suatu basis data
Penghapusan data dari suatu basis data
Pengubahan data di suatu basis data
4.2 Sejarah SQL
Sejarah SQL dimulai dari artikel seorang peneliti dari IBM bernama EF Codd
yang membahas tentang ide pembuatan basis data relasional pada bulan Juni 1970.
30
Artikel ini juga membahas kemungkinan pembuatan bahasa standar untuk mengakses
data dalam basis data tersebut. Bahasa tersebut kemudian diberi nama SEQUEL
(Structured English Query Language). Setelah terbitnya artikel tersebut, IBM
mengadakan proyek pembuatan basis data relasional berbasis bahasa SEQUEL. Akan
tetapi, karena permasalahan hukum mengenai penamaan SEQUEL, IBM pun
mengubahnya menjadi SQL.
Standarisasi SQL dimulai pada tahun 1986, ditandai dengan dikeluarkannya
standar SQL oleh ANSI. Standar ini sering disebut dengan SQL86. Standar tersebut
kemudian diperbaiki pada tahun 1989 kemudian diperbaiki lagi pada tahun 1992.
Versi terakhir dikenal dengan SQL92. Pada tahun 1999 dikeluarkan standar baru
yaitu SQL99 atau disebut juga SQL99, akan tetapi kebanyakan implementasi me-
referensi pada SQL92.
4.3 Manfaat/Kelebihan SQL
1. SQL tidak bersifat proprietary.Hampir semua DBMS besar mendukung
SQL, sehingga dengan mempelajari SQL, kita dapat berinteraksi dengan
hamper semua DBMS besar yang beredar.
2. SQL mudah dipelajari, karena semua statemen dibuat berdasarkan kata-kata
dalam Bahasa Inggris yang umum dan terbatas.
3. Meskipun kedengarannya sederhana, SQL merupakan bahasa yang sangat
powerfull karena dapat digunakan untuk melakukan operasi database yang
kompleks dan sulit
4.4 Perkembangan SQL
Banyak vendor DBMS memperlus dukungan mereka terhadap SQL, yaitu
dengan menambahkan statement atau instruksi. Tujuannya untuk memberikan cara-
cara fungsionalitas tambahan atu cara yang lebih sederhana untuk pengoperasian
spesifik. Tetapi meskipun sangat besar manfaatnya, pengembangan tersebut
31
cenderung sangat khusus bagi DBMS dan jarang didukung oleh lebih dari satu
vendor.
Semua DBMS mayor, bahkan dengan perluasan masing-msing mendukung
ANSI SQL. Implementasi perorangan mempunyai nama sendiri-sendiri, contoh PL-
SQL, Transact SQL dan lain-lain.
4.5 Sintaks SQL
4.5.1 Pencarian Data
Statemen SELECT digunakan untuk mencari, mengambil dan menampilkan
data dari suatu atau lebih tabel (atau view).
Pola :
SELECT ColumnName,
FROM TableName,
[WHERE ]
[ORDER BY ]
Contoh penggunaan statement SELECT :
1. Menampilkan satu kolom/field dari suatu tabel :
SELECT CompanyName FROM Customers
2. Menampilkan banyak kolom/field dari suatu tabel
SELECT CustomerId, CompanyName, Address FROM Customers
3. Menampilkan semua kolom/field dalam tabel
SELECT * FROM Customers
4. Menampilkan data yang bukan berasal dari suatu tabel
SELECT 'Teknik Komputer & Jaringan' As Program Studi
32
Beberapa statemen SQL harus dipisahkan dengan tanda (;). Kebanyakan
DBMS tidak mengharuskan titik koma setelah statemen tunggal, namun ada juga
DBMS yang mengharuskan.
4.5.2. Pengurutan/Sortir Data
Dalam Statement SELECT, data dapat ditampilkan dalam urutan tertentu dengn
menggunakan klausa ORDER BY. Pengurutan dapat dilakukan berdasarkan satu
kolom/field atau lebih dan orientasi pengurutan juga dapat ditentukan. Urutan
penyortiran secara default (dari A ke Z) adalah ascending, disamping itu klausa
ORDER BY juga dapat digunakan untuk mengurutkan secara descending (dari Z ke
A). Klasa ORDER BY selalu ditempatkan pada akhir statement SELECT.
Pola :
SELECT ColumnName,
FROM TableName,
ORDER BY ColumnName
Contoh penggunaan klausa ORDER BY
1. Pengurutan berdasarkan satu kolom/field
SELECT CompanyName, Address, City, Country FROM Customers
ORDER BY CompanyName
2. Pengurutan berdasarkan banyak kolom/field
SELECT CompanyName, Address, City, Country FROM Customers
ORDER BY Country, City
3. Pengurutan berdasarkan letak kolom/field
SELECT CompanyName, Address, City, Country FROM Customers
ORDER BY 3, 3
4. Menentukan urutan penyortiran
SELECT CompanyName, Address, City, Country FROM Customers
ORDER BY Country Desc
33
4.5.3 Penyaringan Data
Dalam Statement SELECT, data disaring berdasarkan penetapan kriteria
pencarian dalam klausa WHERE menggunakan operator.
Pola :
SELECT ColumnName,
FROM TableName
WHERE Criteria
[ORDER BY ColumnName]
Tabel 4.1 Operator-operator Klausa WHERE
Operator Keterangan
= Sama dengan
<>, NOT, atau != Tidak sama dengan
< Lebih kecil dari
<= Lebih kecil dari atau sama dengan
!< Idak lebih kecil dari
> lebih besar dari
>= lebih besar atau sama dengan
!> Tidak lebih besar
OR
AND
Minimal memenuhi salah satu kriteria
Harus memenuhi semua kritera
IN (.., , ) Memenuhi salah satu kriteria dalam list
Between And. Memenuhi range yang ditentukan
ISNULL/IS NOT NULL Data kosong, tidak ada nilai
LIKE Kriteria berdasarkan teks & wildcard
Catatan : tidak semua operator diatas didukung oleh setiap DBMS
34
Contoh penggunaan klausa WHERE
1. SELECT ProductId, ProductName, UnitPrice FROM Products WHERE
ProductName = Chang
2. SELECT ProductId, ProductName, UnitPrice FROM Products WHERE
UnitPrice <> 10
3. SELECT ProductId, ProductName, UnitPrice FROM Products WHERE
NOT UnitPrice = 10
4. SELECT ProductId, ProductName, UnitPrice FROM Products WHERE
UnitPrice != 10
5. SELECT ProductId, ProductName, UnitPrice FROM Products WHERE
UnitPrice <= 15 ORDER BY UnitPrice
6. SELECT ProductId, ProductName, UnitPrice FROM Products WHERE
ProductName=Chang OR UnitPrice =10
7. SELECT ProductId, ProductName, UnitPrice FROM Products WHERE
ProductName=Chang AND UnitPrice >=10
8. SELECT ProductId, ProductName, UnitPrice FROM Products WHERE
ProductName IN (Chai, Chang, Tofu)
9. SELECT ProductId, ProductName, UnitPrice FROM Products WHERE
UnitPrice Between 10 And 20 ORDER BY UnitPrice
10. SELECT CustomerId, CompanyName, City, Address, Fax FROM
Customers WHERE Fax IS NULL
Operator LIKE & Wildcard
Operator LIKE menginstruksikan DBMS supaya pola pencarian dibandingkan
dengan menggunakan wildcard. Pola pencarian (Search pattern) menggunakan
wildcard. Wildcard adalah karakter khusus untuk mewakili dan menyesuaikan
bagian-bagian dari satu nilai
35
Tabel 4.2 Wildcard dan Fungsinya
Wildcard Fungsi
* atau %
Mewakili semua kejadian, jenis dan jumlah karakter
? atau _
Mewakili satu karakter
[ ]
harus sesuai dengan salah satu diantara karakter
karakter dalam [ ] pada posisi yang ditentukan
Catatan : tidak semua wildcard diatas didukung oleh setiap DBMS
Contoh penggunaan Wildcard :
1. SELECT ProductId, ProductName, UnitPrice FROM Products WHERE
ProductName LIKE C*
2. SELECT LastName, FirstName, Title FROM Employees WHERE Title
LIKE *Sales*
3. SELECT ProductId, ProductName, UnitPrice FROM Products WHERE
ProductName LIKE g?a*
4. SELECT ProductId, ProductName, UnitPrice FROM Products WHERE
ProductName LIKE [ABC]*
4.5.4 Field Hitungan
Data yang disimpan dalam table database seringkali tidak tersedia dalam format
yang sebenarnya dibutuhkan oleh aplikasi atau user. Sebagai contoh, mungkin data
yang ingin ditampilkan dalam bentuk gabungan dari beberapa kolom/field, ataupun
ingin ditampilkan dalam huruf besar sedangkan data yang diinput dalam tabel dalam
huruf kecil. Bahkan terkadang dibutuhkan data berupa hasil hitungan dari beberapa
kolom/field.
36
Field hitungan adalah sebuah field yang dihasilkan dari kombinasi field-field
yang ada dalam tabel. Field hitungan tidak benar-benar ada dalam tabel database,
hanya bersifat on-the fly dalam statement SELECT. Field yang dihasilkan tidak
mempunyai nama, tetapi dapat diberikan alternatif nama dengan pemberian alias.
Rangkaian Field
Rangkian field adalah field yang terbentuk dari gabungan beberapa field data
tipe teks yang dirangkaian menjadi sebuah field. Operator yang digunakan untuk
merangkai field adalah tanda + ataupun ||, tergantung DBMS yang digunakan.
Contoh penggunaan Rangkaian Field:
SELECT FirstName, LastName, FirstName + ' ' + LastName As
NamaLengkap,
Address, City, Country, Address + ', ' + City + ', ' + Country As
Alamat_Lengkap
FROMEmployees Order By FirstName
Field Kalkulasi Matematis
Field kalkulasi sering digunakan untuk melakukan perhitungan-perhitungan
matematis pada data yang diambil.
Tabel 4.3 Operator Matematis SQL
Operator Keterangan
+ Penjumlahan
- Pengurangan
* Perkalian
/ Pembagian
37
Contoh penggunaan field kalkulasi matematis:
SELECT ProductId, UnitPrice, Quantity, UnitPrice * Quantity As Harga_Total
FROM[Order Details] ORDER BY ProductId
4.5.5 Fungsi
Fungsi adalah operasi-operasi yang dapat dilakukan pada data untuk
memudahkan perubahan dan manipulasi atau ekstraksi data. Fungsi cenderung sangat
khusus untuk setiap DBMS. Pada dasarnya sedikit saja fungsi yang secara identik
didukung oleh semua DBMS besar. Walaupun semua tipe fungsionalitas biasanya
tersedia di setiap DBMS, nama fungsi atau sintaks dapat sangat berbeda.
Contoh perbedaaan penggunaan fungsi ekstraksi bagian string pada DBMS
yang berbeda :
Tabel 4.4 Perbedaan penggunaan fungsi ekstraksi string pada beberapa DBMS
Fungsi MS. Access V. Foxpro SQL
Server
Oracle
Ekstraksi
bagian
string
Mid( ) Substr( ) Substring( ) Substr( )
Tipe-tipe Fungsi
1. Fungsi Teks
2. Fungsi Tanggal dan Waktu
3. Fungsi Numerik
4. Fungsi Sistem
38
Fungsi Teks
Fungsi teks digunakan untuk memanipulasi atau mengekstrak string teks
(pemotongan atau penambahan nilai, konversi huruf besar dan huruf kecil).
Tabel 4.5 Contoh Fungsi Teks
Fungsi Teks MS.Access V.Foxpro SQL Server
Mengambil beberapa
karakter dari kiri string teks
Left( ) Left( ) Left( )
Mengambil beberapa
karakter dari kanan string
teks
Right( ) Right( ) Right( )
Meng-ekstrak bagian dari
string teks
Mid( ) Substr( ) Substring( )
Menghitung panjang string
teks
Len() Len() Len( )
Menghapus spasi di sebelah
kiri string teks
Ltrim( ) Ltrim( ) Ltrim( )
Menghapus spasi di sebelah
kanan string teks
Rtrim( ) Rtrim( ) Rtrim( )
Mengubah format string ke
huruf besar
Ucase( ) Upper( ) Upper( )
Mengubah format string ke
huruf kecil
Lcase( ) Lower( ) Lower( )
Catatan : format parameter yang digunakan dalam setiap fungsi untuk masing-
masing DBMS tidak selalu sama.
39
Contoh penggunaan fungsi teks :
1. SELECT CompanyName, Length(CompanyName) as PanjangData,
Left(CompanyName,4) As Kiri4, Right(CompanyName,4) As Kanan4,
Mid(CompanyName,3,5) As Tengah35, Ucase(CompanyName) As
HurufBesar, Lcase(CompanyName) As HurufKecil FROM Customers
Order By CompanyName
2. SELECT
Ltrim( JURUSAN ) As SpasiKiri,
Rtrim( JURUSAN ) As SpasiKanan,
Trim( JURUSAN ) As TanpaSpasi
Lcase(JURUSAN) As HurufKecil
Fungsi Tanggal
Fungsi Tanggal digunakan untuk memanipulasi nilai tanggal dan waktu atau
untuk mengekstrak komponen-komponen spesifik dari nilai-nilai tersebut.
Tabel 4.6 Contoh Fungsi Tanggal
Fungsi Tanggal MS.Access V.Foxpro SQL Server
Mengambil Nilai Tanggal Day() Day() Day()
Mengambil Nilai Bulan Month() Month() Month()
Mengambil Nilai Tahun Year() Year() Year()
Mengambil Nilai Tanggal DatePart('d',x) DatePart(dd,x)
Mengambil Nilai Bulan DatePart('m',x) DatePart(mm,x)
40
Catatan : Format parameter yang digunakan dalam setiap fungsi untuk masing-
masing DBMS tidak selalu sama.
Contoh penggunaan Fungsi Tanggal:
1. SELECT FirstName + ' ' + LastName As Nama, BirthDate,
Day(BirthDate) As Tanggal,
Month(BirthDate) As Bulan,
Year(BirthDate) As Tahun
FROMEmployees
2. SELECT FirstName + ' ' + LastName As Nama, BirthDate,
Datepart(dd,BirthDate) As Tanggal,
Datepart(mm,BirthDate) As Bulan,
Datepart(yy,BirthDate) As Tahun
FROMEmployees
3. SELECT FirstName + ' ' + LastName As Nama, BirthDate FROM
Employees
WHERE Datepart(yy,BirthDate) Between 1960 And 1968
ORDER BY BirthDate
Mengambil Nilai Tahun DatePart('yyyy',x) DatePart(yy,x)
Menghitung Selisih
Tanggal
DateDiff('d',x,y) DateDiff(dd,x,y)
Menghitung Selisih
Tahun
DateDiff('yyyy',x,y) DateDiff(yy,x,y )
Menambah Tahun DateAdd('yyyy',x,y) DateAdd(yy,x,y)
Mengambil Waktu
System (komputer)
Now() Getdate()
41
Fungsi Numerik
Fungsi Numerik digunakan untuk melakukan operasi-operasi matematik pada
data numerik. Fungsi Numerik hanya digunakan untuk manipulasi data numerik,
cenderung digunakan untuk perhitungan aljabar, trigonometri, ataupun geometri.
Fungsi numerik adalah fungsi yang paling seragam dan konsisten pada DBMS yang
besar.
Tabel 4.7 Fungsi Manipulasi Numerik yang Umum Digunakan
Fungsi Keterangan
ABS() Menghasilkan nilai mutlak sebuah bilangan
COS() Menghasilkan cosin trigonometri dari sudut tertentu
EXP() Menghasilkan nilai eksponen dari bilangan khusus
PI() Menghasilkan nilai PI
SIN() Menghasilkan sinus trigonometri dari sudut tertentu
SQRT() Menghasilkan akar kuadrat bilangan tertentu
ROUND() Menghasilkan pembulatan bilangan tertentu
Catatan : Lihat dokumentsi DBMS masing-masing untuk daftar fungsi
matematis yang didukung.
Contoh penggunaan Fungsi Numerik:
1. SELECT Abs(-1) as NilaiMutlak, Sqrt(81) As NilaiAkar
2. SELECT UnitPrice, Sqrt(UnitPrice) As NilaiAkar FROMProducts
3. SELECT Round(Sqrt(UnitPrice),3) As Pembulatan3 FROM Products
42
Fungsi Sistem
Fungsi Sistem mengembalikan informasi-informasi khusus ke DBMS yang
sedang digunakan, seperti siapa yang sedang meng-akses database, daftar nama user
yang terdaftar dan lain-lain. Fungsi sistem sangat khusus untuk setiap DBMS.
Contoh penggunaan Fungsi Sistem:
SELECT User_Name(1), User_Name(2), User_Name(3), Current_User
4.56 Fungsi Agregat
Seringkali data yang dibutuhkan adalah data ringkasan, bukan data
aktual/detilnya. Fungsi Agregat dipakai terutama dalam report/laporan karena
umumnya yang dibutuhkan adalah ringkasan(summary) data di dalam tabel.
Fungsi Agregat adalah fungsi-fungsi yang beroperasi pada sekumpulan baris
untuk menghitung dan menghasilkan nilai tunggal. Fungsi agregat SQL didukung
secara konsisten oleh DBMS mayor.
Tabel 4.8. Fungsi Agregat SQL
Fungsi Keterangan
AVG() Menghasilkan nilai rata-rata dari sebuah kolom
COUNT() Menghasilkan jumlah baris pada sebuah kolom
MAX() Menghasilkan nilai tertinggi dari sebuah kolom
MIN() Menghasilkan nilai terendah dari sebuah kolom
SUM() Menghasilkan jumlah nilai dari sebuah kolom
Fungsi agregat seringkali digunakan bersama-sama dengn klausa GROUP BY
karena fungsi agregat dapat melakukan perhitungan kelompok.
43
Contoh penggunaan Fungsi Agregat:
SELECT
count(*) AS jumlah_baris,
Max(unitprice) AS harga_termahal,
Min(unitprice) AS harga_termurah,
Avg(unitprice) AS harga_rata2,
Sum(unitprice*quantity) AS jumlah_harga
FROM [Order Details];
4.5.7 Pengelompokan Data
Dalam statement SELECT, klausa GROUP BY memerintahkan DBMS
membagi data ke dalam kumpulan-kumpulan/mengelompokkan data dan kemudian
melakukan agreagat pada setiap kelompok. Pengelompokan memungkinkn pembgin
dt ke dalam kelompok-kelompok sehingga dapat dilakukan penghitungan pada setiap
kelompok (kalkulasi agregat).
Selain dari kumpulan kalkulasi agregat, setiap kolom dalam statemen SELECT
harus disjikan dalam klausa GROUP BY. Klausa GROUP BY harus dimulai setelah
klausa WHERE dan sebelum klausa ORDER BY.
SQL juga membolehkan adanya penyaringan kelompok dengan menggunakan
klausa HAVING. HAVING mirip dengan WHERE tetapi penggunaannya berbeda.
WHERE untuk penyaringan tingkat baris, sedangkan HAVING menyaring kelompok
baris.
Contoh Pengelompokan Data :
SELECT Country, Count(*) As Jumlah_Perusahaan FROM Customers
GROUP BY Country
HAVING COUNT(*) >=3
44
4.5.8 Menghapus Data
Statement DELETE dgunakan untuk menghapus data dari sebuah tabel.
DELETE dapat menghapus semua baris dalam sebuah tabel atau pun menghapus
baris khusus dari sebuah tabel dengan klausa WHERE.
Pola :
DELETE FROM TableName
[WHERE]..
Contoh Penghapusan Data:
1. DELETE FROM Customers WHERE Country=Argentina
2. DELETE FROM Customers WHERE City In (Berlin, Buenos
Aires,Helsinki)
3. DELETE FROM Customers
4.5.9 Memperbaharui/Update Data
Untuk meng-update data pada sebuah tabel diguanakan statement UPDATE
dengan dua cara yaitu, memperbaharui baris khusus atau memperbaharui semua baris
pada sebuah tabel. Statement UPDATE diakhiri dengan Klusa WHERE yang
memberitahu baris mana yang akan diperbaharui. Tanpa klausa WHERE DBMS akan
memperbaharui semua baris.
Pola :
UPDATE TableName
SET ColumnName=Value,..
[WHERE]..
Contoh Update Data:
UPDATE Customers
SET City=Makassar, Region=MKS
WHERE City=London
45
4.5.10 Menyisipkan Data
Statement INSERT digunakan untuk menyisipkan (menambah) baris ke suatu
tabel database. Insert/menyisipkan data dapat dilakukan dengan penginputan perbaris
data secara langsung atau data yang disisipkan dapat berasal dari bari-baris tabel lain
(hasil dari query).
a. Insert dan Input Satu Baris Data
Pola :
INSERT INTO TableName[(columns,)]
VALUES (value1, value2,)
Contoh :
Insert sebuah baris tunggal lengkap :
Penulisan tabel secara implisit :
INSERT INTO Pelanggan
VALUES ('XYZZ',
'PT. Maju Mundur',
Anty,
Secretary,
'Jl. Pengayoman No. 20',
'Makassar',
'MKS',
'1234',
'Indonesia',
'(0411) 444123',
'(0411) 444321')
46
Penulisan tabel secara eksplisit :
INSERT INTO Pelanggan (CustomerId,
CompanyName,
ContactName,
ContactTitle,
Address,
City,
Region,
PostalCode,
Country,
Phone,
Fax)
VALUES ('XYZZ',
'PT. Maju Mundur',
Anty,
Secretary,
'Jl. Pengayoman No. 20',
'Makassar',
'MKS',
'1234',
'Indonesia',
'(0411) 444123',
'(0411) 444321')
Insert sebuah baris tunggal sebagian:
INSERT INTO Pelanggan (CustomerId,
CompanyName,
Address,
City)
47
VALUES ('XYZZ',
'PT. Maju Mundur',
Anty,
Secretary,
'Jl. Pengayoman No. 20',
'Makassar')
b. Insert Data Dari Tabel /Hasil Query
Pola:
INSERT INTO TableName
SELECT columns,
FROM TableName
[WHERE].
Contoh :
1. INSERT INTO Pelanggan
SELECT * FROM Customers
WHERE Region Is Null
2. INSERT INTO Pelanggan (CustomerId,
CompanyName,
Address)
SELECT CustomerId,
CompanyName,
Address
FROM Customers
WHERE CompanyName Like [ABC]*
48
c. Meng-copy /menyalindari tabel
Pola :
SELECT * Into DestinationTable
FROMSourceTable
Contoh :
Membuat Tabel Pelanggan dengan meng-copy Tabel Customers:
SELECT * INTO Pelanggan FROM Customers
4.5.11 Membuat Tabel
Kebanyakan DBMS dilengkapi dengan tools administrasi yang dapat dipakai
untuk membuat dan mengelola tabel-tabel secara interaktif, namun tabel juga dapat
dibuat dan dapat dimanipulasi langsung dengan statement SQL. Untuk membuat tabel
secara terencana, digunakan statement CREATE TABLE.
Pola :
CREATE TABLE TableName
(
column DataType [NULL|NOT NULL] [constraints],
column DataType [NULL|NOT NULL] [constraints],
..
)
Contoh :
CREATE TABLE Mahasiswa
(
NIM Char(10) NOT NULL,
Nama Char(20) NULL,
Alamat Char(30) NULL,
TglLahir DateTime NULL
)
49
4.5.12 Memperbaharui Struktur Tabel
Untuk memperbaharui defenisi tabel digunakan statemen ALTER TABLE.
Namun demikian perubahan tabel yang sudah ada, bukanlah masalah sederhana.
Pastikan merujuk dokumentasi DBMS untuk melihat bagaimana perubahan bisa
dilakukan.
Pola :
ALTER TABLE
(
ADD|DROP COLUMN |ALTER COLUMN column DataType [NULL|NOT
NULL] [constraints],
ADD|DROP COLUMN |ALTER COLUMN column DataType [NULL|NOT
NULL] [constraints],
.
)
Contoh :
1. ALTER TABLE Mahasiswa
ADD Jurusan Char(15) NULL
2. ALTER TABLE Mahasiswa
ALTER COLUMN Jurusan Char(20) NULL
3. ALTER TABLE Mahasiswa
DROP COLUMN Jurusan
4.5.13 Menghapus Tabel
Tabel dihapus dengan menggunkaan statemen DROP TABLE.
Contoh:
DROP TABLE Mahasiswa
50
4.5.14 Menamai kembali Tabel
Penamaan tabel didukung berbeda-beda oleh setiap DBMS. Tidak ada standar
yang sama untuk operasi ini. Pemakai ORACLE menggunakan statemen RENAME,
dan pemakai SQL-SERVER menggunakan prosedur penyimpanan sp_rename yang
telah disediakan.
4.5.15 Menggabungkan Tabel
Tabel relasional dirancang sedemikian rupa sehingga informasi dibagi ke dalam
banyak tabel. Pemisahan data ke dalam banyak tabel memungkinkan proses
penyimpanan menjadi lebih efisien, manipulasi lebih mudah dan skalabilitas yang
lebih besar.
Join adalah mekanisme yang digunakan untuk menghubungkan beberapa tabel
dengan mengggunakan statemen SELECT. Beberapa tabel dapat digabungkan
sehingga dihasilkan sekumpulan output tunggal dan join menghubungkan baris-baris
dari setiap tabel on-the-fly.
Contoh :
1. SELECT Mahasiswa. NIM, Mahasiswa.Nama, Penilaian.MataKuliah,
Penilaian.Nilai
FROM Mahasiswa, Penilaian
WHERE Mahasiswa. NIM=Penilaian.NIM
2. SELECT Mahasiswa. NIM, Mahasiswa.Nama, Penilaian.MataKuliah,
Penilaian.Nilai
FROM Mahasiswa INNER JOIN Penilaian
ON Mahasiswa. NIM=Penilaian.NIM
51
4.6 Soal-soal Latihan
1. Apakah yang dimaksud SQL dan sebutkan manfaat SQL!
2. Jelaskan mengapa kita dapat mengakses beberapa DBMS sekaligus dengan hanya
menggunakan satu sintaks SQL yang sama?
3. Buatlah 2 buah tabel dari suatu bidang tertentu dengan script SQL
4. Input data pada kedua tabel tersebut dengan script SQL
5. Lakukan operasi insert, update, delete pada kedua tabel tersebut dengn script SQL
6. Gabungkan kedua tabel tersebut, kemudian tampilkan beberapa field dari kedua
tabel tersebut dengan script SQL