Tutorial SQL ( Structured Query Language ) part 1
Structured Query Language (SQL) merupakan bahasa yang banyak digunakan dalam berbagai produk
database. SQL dibangun di laboratorium IBM-San Jose California sekitar akhir tahun 70-an. Pertama kali dikembangkan sebagai bahasa di produk database DB2 yang sampai saat ini merupakan produk database andalan IBM. SQL sering di lafalkan dengan “sequel”.
Saat ini organisasi standar America (ANSI) menetapkan standar bahasa SQL yaitu ANSI-92 standard.
Masing-masing vendor database memiliki dialeknya sendiri sebagaian besar spesifikasinya mengacu pada standar ANSI tersebut dengan berbagai ekstensi tambahan. SQL Server menggunakan bahasa Transact-SQL dalam produknya, sedangkan Oracle menggunakan PL/SQL.
Dalam tutorial ini penulis menggunakan database NorthWind yang merupakan database sampel di SQL Server sebagai sarana latihan. Tools yang digunakan adalah Query Analyzer, yang dapat diakses dari menu Start > Program > Microsoft SQL Server > Query Analyzer. Anda juga dapat menggunakan produk database lain seperti MySQL atau Oracle dengan konsep yang sama.
database. SQL dibangun di laboratorium IBM-San Jose California sekitar akhir tahun 70-an. Pertama kali dikembangkan sebagai bahasa di produk database DB2 yang sampai saat ini merupakan produk database andalan IBM. SQL sering di lafalkan dengan “sequel”.
Saat ini organisasi standar America (ANSI) menetapkan standar bahasa SQL yaitu ANSI-92 standard.
Masing-masing vendor database memiliki dialeknya sendiri sebagaian besar spesifikasinya mengacu pada standar ANSI tersebut dengan berbagai ekstensi tambahan. SQL Server menggunakan bahasa Transact-SQL dalam produknya, sedangkan Oracle menggunakan PL/SQL.
Dalam tutorial ini penulis menggunakan database NorthWind yang merupakan database sampel di SQL Server sebagai sarana latihan. Tools yang digunakan adalah Query Analyzer, yang dapat diakses dari menu Start > Program > Microsoft SQL Server > Query Analyzer. Anda juga dapat menggunakan produk database lain seperti MySQL atau Oracle dengan konsep yang sama.
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
Menampilkan Data Dengan Perintah SELECT
Syntax paling dasar untuk mengambil data dari database adalah sebagai berikut :
SELECT column
FROM table
Buka query Analyser dan pastikan anda telah terkoneksi dengan database Northwind. Tuliskan kode berikut untuk menampilkan data customer yang terdapat di tabel Customers.
SELECT CustomerID, CompanyName, ContactName
FROM Customers
Jalankan perintah tersebut dengan menekan tombol F5, maka akan tampil tiga kolom dari tabel Customers :
CustomerID CompanyName ContactName
---------- ---------------------------------------- ----------
ALFKI Alfreds Futterkiste Maria
ANATR Ana Trujillo Emparedados y helados Ana
ANTON Antonio Moreno Taquería Antonio
AROUT Around the Horn Thomas
BERGS Berglunds snabbköp Christina
BLAUS Blauer See Delikatessen Hanna Moos
BLONP Blondesddsl père et fils Frédérique
BOLID Bólido Comidas preparadas Martín
BONAP Bon app' Laurence
………………………..
………………………..
Untuk menampilkan semua kolom dari suatu table, digunakan tanda asterik (*), daripada menyebutkan nama kolomnya satu per satu. Tiluskan statement berikut :
SELECT * FROM Customers
Maka akan ditampilkan seluruh kolom di table Customers yang berjumlah 11 kolom.
Meskipun cara ini sangat sederhana untuk menampilkan isi seluruh kolom dari suatu table, anda tetap
dianjurkan untuk hanya mengambil data dari kolom yang anda perlukan saja. Pengambilan data yang tidak perlu mengakibatkan penurunan performa aplikasi.
Filter Data Dengan WHERE
Perintah SELECT dan FROM diatas hanya membatasi jumlah kolom yang ditampilkan saja, sedangkan jumlah baris yang dihasilkan tidak dibatasi. Anda sering memerlukan hanya baris atau data yang memenuhi kriteria tertentu saja yang ditampilkan.
Klausa WHERE digunakan untuk menentukan kriteria RECORD yang ditampilkan. Syntax umumnya adalah sebagai berikut :
SELECT columns
FROM tables
WHERE Conditions
Perintah SQL diatas dapat dimodifikasi agar menampilkan data untuk customer dengan kode ALFKI saja. Kode SQL nya menjadi sebagai berikut :
SELECT CustomerID, CompanyName, ContactName
FROM Customers
WHERE CustomerID = 'ALFKI'
Setelah dirun maka tampil hasil query sebagai berikut :
CustomerID CompanyName ContactName
---------- ---------------------------------------- ----------
ALFKI Alfreds Futterkiste Maria Anders
(1 row(s) affected)
Terlihat bahwa hanya dihasilkan satu record yang memenuhi kriteria. Dalam perintah tersebut kriteria yang digunakan adalah kolom CustomerID dengan nilai ALFKI.
Anda juga dapat membuat beberapa kriteria sekaligus dengan klausa WHERE. Logika yang digunakan bisa berupa OR (atau) serta AND (dan). Perhatikan contoh perintah berikut :
SELECT CustomerID, CompanyName, ContactName FROM Customers WHERE CustomerID = 'ALFKI' OR CustomerID = 'AROUT'
Maka dihasilkan dua buah record yang memenuhi kritreia tersebut :
CustomerID CompanyName ContactName
---------- ---------------------------------------- ----------
ALFKI Alfreds Futterkiste Maria Anders
AROUT Around the Horn Thomas Hardy
(2 row(s) affected)
Cara lain adalah menggunakan AND sehingga data yang ditampilkan hanya yang memenuhi kriteria yang disebutkan saja. Misalkan perintah berikut :
SELECT CustomerID, CompanyName, ContactName FROM Customers WHERE City = 'London' AND ContactName = 'Thomas Hardy'
Maka record yang ditampilkan harus memenuhi kedua kriteria di klausa WHERE. Hasil yang didapat adalah :
CustomerID CompanyName ContactName
---------- ---------------------------------------- ----------AROUT Around the Horn
Thomas Hardy
(1 row(s) affected)
Apabila anda mengganti AND dengan OR, maka hasilnya akan berbeda, yaitu sebagai berikut :
CustomerID CompanyName ContactName
---------- ---------------------------------------- ----------
AROUT Around the Horn Thomas Hardy
BSBEV B's Beverages Victoria Ashworth
CONSH Consolidated Holdings Elizabeth Brown
EASTC Eastern Connection Ann Devon
NORTS North/South Simon Crowther
SEVES Seven Seas Imports Hari Kumar
(6 row(s) affected)
Sampai di sini anda telah mempelajari bagaimana mengambil data dari database berdasarkan kriteria tertentu, serta perbedaan penggabungan kriteria yang menggunakan OR dan AND.
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 anda dapat
mengurutkan berdasarkan kolom tertentu yang anda kehendaki.
Bila anda perhatikan perintah SQL diatas maka data yang dihasilkan telah diurutkan berdasarkan kolom
CustomerID. Anda dapat merubahnya dengan mengurutkan berdasarkan kolom ContactName dengan perintah
berikut :
SELECT CustomerID, CompanyName, ContactName
FROM Customers
ORDER BY ContactName
Sehingga hasilnya adalah :
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). Anda dapat membalik urutan menjadi dari z ke a dengan merubah klausa ORDER BY menjadi seperti berikut :
ORDER BY ContactName desc
Secara default urutan yang digunakan adalah ascending.
Selain itu dapat pula digunakan beberapa kriteria pengurutan. Artinya pengurutan dilakukan berdasarkan kolom yang disebut pertama, setelah itu kolom kedua, dan selanjutnya. Perintah diatas dapat ditambahkan sehingga menjadi sebagai berikut :
SELECT CustomerID, CompanyName, ContactName
FROM Customers
ORDER BY ContactName, CompanyName
Maka data akan diurutkan mengikuti ContactName, dan selanjutnya berdasarkan CompanyName.
Perintah ORDER BY juga dapat digabungkan dengan WHERE misalnya sebagai berikut :
SELECT CustomerID, CompanyName, ContactName
FROM Customers
WHERE City = 'London' OR
ContactName = 'Thomas Hardy'
ORDER BY ContactName
Perhatikan baik-baik bahwa ORDER BY harus diletakkan setelah WHERE. Apabila urutan tersebut terbalik maka statement SQL tidak dapat dijalankan dan menghasilkan pesan error berikut :
Server: Msg 156, Level 15, State 1, Line 4
Incorrect syntax near the keyword 'WHERE'.

Comments
Post a Comment