tea's corner

live and life

Ternyata didalam <select list>, kita bisa membuat perhitungan aritmatik lho. Dan bahkan konkatenasi, penggabungan dua nilai string/karakter. Dengan demikian, kita bisa menampilkan data-data sesuai dengan perhitungan yang kita inginkan, misalnya penambahan bonus yang dihitung dari porsentase salary (gaji).

SELECT employeeid AS ID#, 0.15 * salary AS Bonus
FROM employees;

Dari contoh tersebut, SQL mengembalikan hasil query (resultset) yang terdiri dari 2 kolom, yaitu employeeid yang direpresentasikan nama kolomnya dengan ID#, dan perhitungan aritmatika 15% dari salary yang direpresentasikan nama kolomnya dengan Bonus. Ya, adanya keyword AS mengindikasikan bahwa nama kolom digantikan dengan ALIAS.

Beberapa operator aritmatik yang bisa kita gunakan dalam SQL antara lain:

  1. +   untuk penambahan
  2. –   untuk pengurangan
  3. *   untuk perkalian
  4. /   untuk pembagian
  5. %   untuk modulus. mengembalikan nilai sisa pembagian

Konkatenasi, seperti yang telah disebutkan sebelumnya, digunakan untuk menggabungkan dua nilai string/karakter. Sebagai contoh, kita ingin membuat email karyawan yang dibentuk dari nama terakhir karyawan digabung dengan @mydomain.org.

SELECT lastname||’@mydomain.org”
FROM employees;

Dalam beberapa database system, konkatenasi menggunakan karakter pipe ( || ) dan beberapa lainnya menggunakan plus ( + ), beberapa lainnya juga membuat function, misalnya concat(str1, str2) di ORACLE.

Untuk melakukan data retrieval dari database, kita bisa menggunakan perintah SELECT.

SELECT [DISTINCT|ALL] <select list>
FROM <table list>
[WHERE <row condition>]
[GROUP BY <group list>]
[HAVING <group condition>]
[ORDER BY <sort list>]

Secara sederhana, perintah SELECT hanya membutuhkan 2 bagian, yaitu (1) atribut data yang diperlukan, dan (2) tabel dimana data tersebut diperoleh. Atribut diisikan pada bagian <select list>, sedangkan tabel diisikan pada bagian <table list>. Sebagai contoh, misal kita ingin menampilkan nama mahasiswa, maka query yang diperlukan adalah:

SELECT nm_mhs
FROM mahasiswa;

Dari query tersebut, nama mahasiswa diambil dari kolom nm_mhs, dan kolom ini ada di tabel mahasiswa. Untuk mengetahui data dari banyak kolom, kita bisa menggunakan koma sebagai pemisah antar-kolom (comma-delimited).

SELECT nim, nm_mhs
FROM mahasiswa;

Sedangkan untuk menampilkan semua data dari tabel mahasiswa, kita tinggal ganti <select list> dengan *

SELECT *
FROM mahasiswa;

Beberapa hal yang perlu diketahui mengenai SELECT ini adalah:

  1. Tidak case-sensitive, kecuali ketika pembuatan database dan obyek-obyeknya menggunakan case-sensitive.
  2. Bisa banyak baris.
  3. Keywords harus pada baris yang sama.
  4. Gunakan indentasi untuk mempermudah pembacaan.
  5. Umumnya keywords menggunakan UPPERCASE, sisanya disesuaikan dengan kebutuhan.
  6. Setiap perintah SQL diakhiri dengan semi-colon ( ; )

Dari dulu kita mengenal database Northwind yang dipakai sebagai sample database, tidak hanya di SQL Server 2000 kebawah, tetapi juga di Ms. Access. Mulai SQL Server 2005 ada penambahan bagian dalam struktur database, yaitu SCHEMA. Schema bukan user. Lebih lengkapnya bisa dilihat disini.

  1. Download installernya dari sini.
  2. Install. Secara otomatis, lokasi hasil instalasi adalah:
    C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\
  3. Masuk ke SQL Server Management Studio (SSMS).
  4. Login dengan Windows Authentication
  5. Object Explorer – Root – klik kanan Databases – Attach
  6. Buat user sebagai owner. Object Explorer – Root – Security – klik kanan Logins – New Login.
    Melalui menu General, isi Login name dengan aw.owner – pilih SQL Server Authentication – isi Password+Confirm – uncheck Enforce pasword policy – ubah Default database menjadi AdventureWorks – klik button OK.
  7. Object Explorer – Root – Databases – klik kanan AdventureWorks – Properties.
    Melalui menu Files, isi Owner dengan aw.owner – klik button OK.
  8. Dalam database AdventureWorks, ada 5 schema produksi. Oleh karena itu, kita buat 5 user untuk masing-masing schema.
    • aw.humanresources/aw.humanresources
    • aw.person/aw.person
    • aw.production/ aw.production
    • aw.purchasing/aw.purchasing
    • aw.sales/aw.sales
  9. Assign user ke schema. Object Explorer – Root – Security – Logins – klik kanan aw.aales – Properties.
    Pada menu User Mapping, check pada database AdventureWorks – isi default schema dengan Sales – klik button OK.
  10. Memberikan hak akses obyek dalam schema kepada user. Object Explorer – Root – Databases – AdventureWorks – Security – Schemas – klik kanan Sales – Properties.
    Melalui menu Permissions – klik button Add – isikan aw.sales – klik button OK – centang aw.sales – klik button OK. Pada bagian explicit permission, centang semua pada kolom Grant – klik button OK
  11. Dengan cara seperti ini, ketika kita login menggunakan user aw.sales, tables yang dapat dilihat hanyalah tables yang ada pada schema Sales.

Binary

Sebenarnya semua data dalam komputer disimpan dalam bentuk biner, tipe data ini didesain untuk menyimpan dijit biner secara sekuensial. Ada 3 macam yaitu:

  1. BIT(<panjang>). Dikenal sebagai BINARY dalam SQL Server dengan panjang maksimum 8.000 bytes.
  2. BIT VARYING(<panjang>). Dikenal sebagai VARBINARY dalam SQL Server dengan panjang maksimum 8.000 bytes.
  3. BINARY LARGE OBJECT(<panjang>). Dikenal sebagai VARBINARY(MAX) dalam SQL Server dengan panjang maksimum 2^31 bytes.

Biasanya tipe data ini digunakan untuk menyimpan file, mulai dari file dokumen sampai dengan file multimedia. SQL Server mempunyai satu lagi tipe data khusus untuk menyimpan file multimedia yaitu tipe data IMAGE yang dapat menyimpan hingga 2.147.483.647 bytes.

Temporal

Ini merupakan tipe data yang menyimpan tanggal dan waktu yang disesuikan dengan system time zone (komputer). Sebagai contoh umum, data ttng tanggal lahir.

  1. DATETIME. Tipe data ini menyimpan informasi tanggal, waktu atau bahkan keduanya. Dalam SQL Server, tipe data ini menyimpan dengan tingkat akurasi sampai 3,33 milidetik. Sedangkan untuk SMALLDATETIME hanya sampai 1 menit. Dalam tipe data ini, juga terdapat tipe data TIMESTAMP dengan tingkat akurasi sampai dengan 9 digit.
  2. INTERVAL. Umumnya digunakan untuk menyimpan periode seperti garansi. Ada 2 macam yaitu (1) YEAR-MONTH dan (2) DAY-TIME. SQL Server tidak mempunyai tipe data ini.
Skip to toolbar