SQL SERVER
Microsoft SQL Server adalah sebuah alat manajemen basis data relasional (RDBMS) produk dari perusahaan raksasa Microsoft. Pada awalnya SQL server di ciptakan hanya untuk database berskala kecil namun seiring berkembangnya jaman, maka microsoft menciptakan SQL server untuk berskala besar. Microsoft SQL Server juga mendukung ODBC (Open Database Connectivity), dan memliki driver JDBC untuk bahasa pemrograman Java. Fitur yang lain dari SQL Server ini adalah kemampuannya untuk membuat basis data mirroring dan clustering
Tutorial
Dasar SQL
Fungsi paling dasar dari SQL
adalah untuk menampilkan data dari database. Data tersebut selanjutnya dapat difilter
dan dimanipulasi sesuai kebutuhan aplikasi.
Perintah perintah dalam SQL
terbagi dalam 2 kelompok besar :
- Data Manipulation Language
- Data Definition Language
Data Definition Language :
Menampilkan Data
dengan Statement SELECT
Syntax paling dasar untuk
mengambil data dari database adalah sebagai berikut :
SELECT column
FROM table
untuk contoh, yang menggunakan
tabel Customers.
SELECT CustomerID, CompanyName
FROM Customers
Maka akan tampil kolom sebagai berikut:
CustomerID
CompanyName
----------
------------------------------
ALFKI
Alfreds
Futterkiste
ANATR
Ana
Trujillo Emparedados y helados
ANTON
Antonio
Moreno Taquería
AROUT
Around
the Horn
BERGS
Berglunds
snabbköp
BLAUS
Blauer
See Delikatessen Hanna
BLONP
Blondesddsl
père et fils
BOLID
Bólido
Comidas preparadas
BONAP Bon
app'
Untuk menampilkan semaua kolom tidak perlu untuk
mengetikkan satu persatu nama kolom, melainkan hanya perlu mengetikkan *
(asterisk)
Contoh: SELECT * from Customers
Maka akan ditampilkan seluruh kolom dari
table Customers yang berjumlah 11 kolom
Filter Data
dengan WHERE
Perintah
SELECT dan FROM diatas hanya membatasi jumlah kolom yang ditampilkan saja,
sedangkan jumlah baris yang dihasilkan tidak dibatasi. Klausa WHERE digunakan
untuk menentukan kriteria RECORD yang ditampilkan. Syntax umumnya adalah sebagai
berikut :
SELECT columns
FROM tables
WHERE Conditions
Bila di aplikasikan:
SELECT CustomerID, CompanyName, ContactName
FROM Customers
WHERE CustomerID = 'ALFKI'
Query di atas akan menampilkan:
CustomerID
CompanyName ContactName
---------- ----------------------
----------------
ALFKI Alfreds Futterkiste Maria Anders
(1 row(s) affected)
Sortir
Data dengan ORDER BY
ORDER BY digunakan untuk mengurutkan hasil
pencarian data. Secara default data yang ditampilkan disortir berdasarkan
urutan masuknya data ke dalam tabel. Dengan menggunakan ORDER BY dapat mengurutkan
berdasarkan kolom tertentu yang dikehendaki.
Bila diperhatikan perintah SQL
diatas maka data yang dihasilkan telah diurutkan berdasarkan kolom CustomerID. Hal ini dapat dirubah
dengan mengurutkan berdasarkan kolom ContactName dengan perintah berikut :
SELECT CustomerID, CompanyName, ContactName
FROM Customers
ORDER BY ContactName
Sehingga menampilkan :
CustomerID CompanyName
ContactName
---------- -------------------- -----------------
ROMEY Romero y tomillo Alejandra Camino
MORGK Morgenstern Gesundkost Alexander Feuer
ANATR Ana Trujillo Emparedados Ana Trujillo
TRADH Tradição Hipermercados Anabela Domingues
GOURL Gourmet Lanchonetes André Fonseca
EASTC Eastern Connection Ann Devon
LAMAI La maison d'Asie Annette Roulet
Terlihat bahwa data telah
diurutkan berdasarkan ContactName secara ascending (dari a ke z). Hal tersebut
dapat dibalik urutan menjadi dari z ke a dengan merubah klausa ORDER BY menjadi seperti
berikut :
ORDER BY ContactName
desc
Secara default urutan isi kolom
adalah ascending.
Cari
yang Mirip dengan LIKE
Apabila WHERE menfilter data
berdasarkan kriteria tertentu yang sudah pasti, maka LIKE digunakan untuk
memberikan kriteria yang tidak pasti.
Misalkan mencari nama produk yang
dimulai dengan huruf c maka digunakan perintah berikut :
SELECT ProductID, ProductName
from Products
WHERE ProductName LIKE 'c%'
Tanda % setelah huruf c
tersebut, yang dapat diartikan sebagai :
semua yang dimulai dengan c.
Tampilan dari perintah tersebut
adalah :
ProductID ProductName
----------- -------------------------
60 Camembert Pierrot
18 Carnarvon Tigers
1 Chai
2 Chang
39 Chartreuse verte
4 Chef Anton's Cajun Seasoning
5 Chef Anton's Gumbo Mix
48 Chocolade
38 Côte de Blaye
(9 row(s) affected)
Membuat Alias
dengan AS
Dalam contoh perhitungan dengan
SQL diatas banyak digunakan keyword AS unutuk memberikan nama kolom. Fungsi AS
tersebut adalah memberikan alias terhadap hasil perhitungan sehingga lebih
mudah dibaca. Apabila suatu perhitungan tidak disertakan alias menggunakan AS
maka kolom hasil perhitungan tersebut menjadi tidak dikenal. Perhatikan contoh
berikut :
SELECT ProductID, (UnitPrice * Quantity)
FROM [Order Details]
Maka kolom hasil perkalian tidak
memiliki nama sebagaimana hasil berikut :
ProductID
----------- ----------
11 168.0000
42 98.0000
72 174.0000
14 167.4000
51 1696.0000
41 77.0000
Melakukan
Perhitungan
Selain mengambil data dari
database, dapat juga melakukan berbagai perhitungan terhadap data tersebut. Berbagai
fungsi yang dapat dilakukan adalah penjumlahan, perkalian, pembagian dan
pengurangan.
Simbol-simbol yang digunakan
adalah sebagai berikut :
·
*
Perkalian
·
/
Pembagian
·
+
Penjumlahan
·
-
Pengurangan
Contoh:
Misalkan tiap produk dikenakan
diskon sebesar 10% dan ingin menampilkan harga setelah diskon, maka perintahnya
adalah sebagai berikut :
SELECT ProductID, (UnitPrice * Quantity) as
TotalHarga,
(UnitPrice * Quantity) * 0.1 as Diskon,
(UnitPrice * Quantity) * (1 - 0.1) as
HargaDiskon
FROM [Order Details]
Diskon 10% adalah sama dengan
0.1, sehingga angka tersebut digunakan dalam kode program.
Hasil perhitungannya adalah :
ProductID TotalHarga Diskon HargaDiskon
--------- ----------- --------
-----------
11 168.0000
16.80000 151.20000
42 98.0000
9.80000 88.20000
72 174.0000
17.40000 156.60000
14 167.4000 16.74000
150.66000
51 1696.0000
169.60000 1526.40000
41 77.0000
7.70000 69.30000
51 1484.0000
148.40000 1335.60000
Fungsi
SUM
Fungsi ini menjumlahkan nilai
kolom tertentu yang telah dikelompokkan menurut kriteria tertentu. Misalnya
ingin menghitung jumlah-jumulah barang yang terjual untuk kategori produk
tertentu yang terdapat di tabel Order Details pada database NorthWind.
SELECT SUM(Quantity) as kuantitas from [Order
Details]
WHERE ProductID = 11
Maka dihasilkan output sebagai
berikut :
kuantitas
-----------
706
(1 row(s) affected)
Fungsi COUNT
Untuk menghitung frekuensi
pemunculan suatu data, digunakan fungsi COUNT. Sebagaimana fungsi SUM, maka COUNT hanya dapat
digunakan apabila data tersebut telah ditentukan kriterianya dengan klausa WHERE. Misalkan ingin
menghitung jumlah Customer yang terdapat di negara France. Tabel yang digunakan
adalah tabel Customers.
SELECT COUNT (CustomerID) as
total from Customers
WHERE Country = 'France'
Fungsi
AVG
Fungsi ini hanya dapat digunakan
untuk tipe data numeric, sebagaimana fungsi SUM. AVG
menghitung rata-rata
sekumpulan data yang telah
ditentukan kriterianya menggunakan WHERE.
SELECT AVG(Quantity) as Rataan from [Order
Details]
WHERE ProductID = 11
Fungsi MIN dan
MAX
Untuk mencari nilai maksimum dan
minimum dari sekumpulan data dapat menggunakan fungsi MIN dan MAX. Misalkan ingin
mencari jumlah barang yang paling banyak terjual maka dijalankan perintah berikut
:
SELECT MAX(Quantity) as maximum from [Order
Details]
Klausa
GROUP BY
Fungsi agregat yang telah
dijelaskan sebelumnya hanya menampilkan satu baris hasil. Sering dibutuhkan untuk
menampilkan rangkuman hasil perhitungan beberapa kelompok data dalam satu kali
tampilan. Misalnya ingin menghitung rata-rata dan jumlah produk yang terjual
untuk setiap jenis produk. Untuk melakukan ini digunakan klausa GROUP BY yang berfungsi
mengelompokkan data yang memiliki kriteria sama. Dengan demikian dapat
dihasilkan suatu rangkuman hasil perhitungan untuk tiap kategori data.
Tuliskan kode program berikut :
SELECT ProductID, SUM(Quantity)as Total
from [Order Details]
GROUP BY ProductID
Perintah tersebut akan menghitung
jumlah produk yang terjual untuk setiap ProductID dan mengelompokkan
hasilnya berdasarkan ProductID
tersebut. Hasil yang didapat sebagai berikut :
ProductID Total
----------- -----------
23 580
46 548
69 714
77 791
31 1397
15 122
62 1083
Mencari Data
dengan BETWEEN
Keyword BETWEEN digunakan untuk
mencari data yang memenuhi interval kriteria tertentu dalam suatu kolom.
Biasanya digunakan untuk mencari data berdasarkan interval tanggal tertentu. Penggunaan
praktisnya misalnya ingin mencari penjualan yang terjadi antara tanggal 1
Januari 2003 sampai dengan 31 Januari 2003. Keyword BETWEEN digunakan bersamaan
dengan interval tanggal tersebut.
Tuliskan baris kode berikut :
SELECT OrderID, CustomerID, OrderDate
FROM Orders
WHERE OrderDate BETWEEN '07/01/1996' AND
'07/31/1996'
Kode tersebut mencari data di
tabel Orders yang memiliki OrderDate antara tanggal 1 Juli 1996 sampai
dengan 31 Juli 1996. Setelah di
run maka hasilnya adalah :
OrderID CustomerID
OrderDate
----------- ----------
-----------------
10248 VINET
1996-07-04 00:00:00.000
10249 TOMSP
1996-07-05 00:00:00.000
10250 HANAR
1996-07-08 00:00:00.000
10251 VICTE
1996-07-08 00:00:00.000
10252 SUPRD
1996-07-09 00:00:00.000
10253 HANAR
1996-07-10 00:00:00.000
Data
manipulation language:
Proses manipulasi mencakup tambah, menghapus, dan mengedit data. Perintah manipulasi data sangat sering
digunakan untuk aplikasi database. Sebuah tabel dapat diisi dengan data, dihapus, maupun diedit
datanya. Perintah - perintah tersebut dilaksanakan berdasarkan kriteria
tertentu menggunakan keyword WHERE,
BETWEEN maupun LIKE.
Statement INSERT
Untuk mengisikan data ke dalam
suatu tabel digunakan perntah INSERT
yang memiliki syntax umum sebagai berkut
:
INSERT table (kolom)
VALUES (value)
Misalnya untuk mengisikan data
customer baru dituliskan perintah berikut :
INSERT Customers (CustomerID,
CompanyName, ContactName)
VALUES ('MJMR', 'Majumundur', 'Aryo')
Perintah tersebut mengisikan data
di tabel Customers untuk tiga kolom yaitu CustomerID, CompanyName dan
ContactName. Sedangkan kolom lain yang tidak diisi maka terisi dengan nilai
default sesuai dengan desain tabelnya. Apabila desain tabelnya tidak
mengijinkan nilai NULL maka harus mengisikan nilainya dalam perintah INSERT
tersebut. Apabila menampilkan data tabel Customers maka tampak data yang telah
diisikan tersebut sebagai berikut :
CustomerID CompanyName
ContactName
------------------------------- -----------------
MAISD Maison
Dewey Catherine Dewey MEREP Mère
Paillarde Jean
Fresnière
MJMR Majumundur
Aryo
MORGK Morgenstern
Gesundkost Alexander Feuer
Statement DELETE
Statement DELETE merupakan
kebalikan perintah INSERT. Perintah ini menghapus data yang terdapat di suatu
tabel. Data dihapus per record atau per baris berdasarkan kriteria tertentu. Penentuan
kriteria record mana yang akan dihapus bisa dilakukan dengan menggunakan klausa
WHERE. Misalkan ingin
menghapus data semua customer yang berada di negara France.
Syntax umum statement ini adalah
sebagai berikut :
DELETE FROM nama_tabel
WHERE kondisi
Untuk menghapus data customer
yang berasal dari Mexico di tabel Customers maka perintahnya adalah :
DELETE FROM Customers
where Country= 'Mexico'
Menghapus
Seluruh Tabel
Apabila ingin mengosongkan tabel
dan menghapus semua data yang ada di dalamnya maka digunakan perintah DELETE tanpa
menggunakan kondisi WHERE.
Contoh untuk mengosongkan isi
tabel Products :
DELETE Products
Perintah diatas hanya
mengosongkan seluruh isi tabel saja, tetapi tidak menghapus tabelnya.
Statement UPDATE
Apabila akan melakukan perubahan
data pada tabel gunakan perintah UPDATE. Perintah ini juga menggunakan kondisi
tertentu dengan kondisi WHERE sebagaimana
perintah DELETE.
Syntax umum statement UPDATE adalah sebagai
berikut :
UPDATE table_name
SET Column1 = Value1, Column2 = Value2, …..
WHERE condition
Tidak ada komentar:
Posting Komentar