Sabtu, 27 Oktober 2012

Perintah-perintah Structured Query Language (SQL)


1. SELECT

Syntax:
SELECT [DISTINCT] * | column_list
FROM table_reference
[WHERE predicates]
[GROUP BY group_list]
[HAVING having_condition]
[ORDER BY order_list]
SELECT
CustNo,
Company,
"Current" AS CURRENT,
CAST(LastInvoiceDate AS DATE)
FROM Customer

Digunakan untuk mencari/menampilkan record dari tabel. Pernyataan ini bisa menampilkan semua atau sebagian data tabel. Gunakan tanda bintang (“*”) untuk menampilkan nilai dari semua kolom. Kolom yang dideklarasikan dalam klausa SELECT dapat berasal dari satu tabel atau banyak tabel, juga dapat berupa kolom tabel, nilai lateral, dan nilai hasil perhitungan yang dipisahkan oleh tanda koma. Klausa FROM mengidentifikasikan tabel dimana datanya akan ditampilkan. Pernyataan berikut akan menampilkan data dari dua kolom (CustNo dan Company), plus sebuah nilai lateral (“Current”) dan nilai hasil perhitungan untuk semuarecord dari tabel Customer
Gunakan kata kunci DISTINCT untuk membatasi data yang ditampilkan hanya sekali pada record yang berbeda, artinya data yang sama pada kolom tersebut hanya ditampilkan sekali saja. Kata kunci ini hanya dapat dipakai dengan kolom sederhana bertipe Char dan Integer, tidak dapat dipakai untuk kolom yang bertipe Blob dan Memo. Untuk mendapatkan record dengan suatu kriteria logika, tambahkan klausa WHERE dalam pernyataan tersebut dan untuk mengelompokkan data gunakan klausa GROUP BY. Klausa HAVING digunakan untuk membatasi record yang ditampilkan berdasarkan hasil dari fungsi aggregate, sedangkan untuk mengurutkan data gunakan klausa ORDER BY. Pernyataan SELECT juga dapat digunakan sebagai subquery dalam pernyataan INSERT, DELETE dan UPDATE.

2. DELETE

Syntax:
DELETEFROM table_reference
[WHERE predicates]
DELETE
FROM Employee
DELETE
FROM Employee
WHERE (Empno IN (SELECT Empno FROM Old_Employee))

Digunakan untuk menghapus satu record atau lebih dari suatu tabel. Klausa WHERE akan membatasi penghapusan tersebut berdasarkan kriteria logika yang dideklarasikan. Jika tidak mendeklarasikan klausa WHERE maka semua record dalam tabel tersebut akan terhapus. Pernyataan berikut akan menghapus semua data tabel Employee.
Dan pernyataan di bawah ini akan menghapus semua baris dalam tabel Employee jika nilai dari kolom Empno ditemukan dalam subquery pencarian data kolom Empno dari tabel Old_Employee.
Pernyataan DELETE hanya mendukung subquery SELECT dalam klausa WHERE.

3. INSERT

Syntax:
INSERT INTO table_reference
[(columns_list)]
VALUES (update_atoms)
INSERT INTO Customer
(CustNo, Company)
VALUES (9842, "Inprise Corporation")
INSERT INTO Customer
(CustNo, Company)
SELECT CustNo, Company
FROM OldCustomer

Pernyataan INSERT berfungsi untuk menambahkan record data baru pada suatu tabel. Nama tabel yang dinyatakan dalam klausa INTO merupakan tabel yang akan menerima data. Daftar kolom yang dipisahkan oleh tanda koma dan berada dalam tanda kurung merupakan kolom-kolom dari tabel, sedang klausa VALUES merupakan nilai-nilai yang disisipkan yang dipisahkan oleh tanda koma dan berada dalam tanda kurung. Jika tidak ada kolom yang dideklarasikan, maka nilai yang diberikan disimpan dalam kolom secara berurutan dalam struktur tabel, sehingga nilai pertama dalam klausa VALUES akan dimasukkan dalam kolom pertama tabel, demikian seterusnya.
Jika daftar kolom dinyatakan secara jelas maka nilai yang diberikan akan disimpan sesuai dengan urutan daftar kolom tersebut. Kolom-kolom yang tidak dinyatakan dalam daftar kolom tidak mempunyai nilai (kosong bukan nol). Jumlah kolom yang dinyatakan harus sama dengan jumlah nilai dalam klausa VALUES. Pernyataan berikut hanya memasukkan suatu nilai dalam kolom CustNo dan Company dari tabel Employee, dan nilai kolom-kolom lain adalah kosong.
Untuk menambahkan record pada satu tabel yang berasal dari tabel lain, hilangkan klausa VALUES dan gunakan subquery sebagai sumber baris baru tersebut.
Pernyataan INSERT juga hanya mendukung subquery SELECT dalam klausa VALUES.

4. UPDATE

Syntax:UPDATE table_referenceSET column_ref = update_atom[, column_ref = update_atom...][WHERE predicates]
UPDATE SalesInfo
SET TaxRate = 0.0825
UPDATE Inventory
SET OnHand = OnHand – (SELECT SUM(Orders.QtySold)
FROM Orders
WHERE (Orders.PartNo = Inventory.PartNo)
AND (Orders.OrderDate BETWEEN "10/01/1999"
AND "10/31/1999")),
InventoryDate = OnHand – (SELECT MAX(Orders.OrderDate)
FROM Orders
WHERE (Orders.PartNo = Inventory.PartNo)
AND (Orders.OrderDate BETWEEN "10/01/1999"
AND "10/31/1999"))
UPDATE SalesInfo
SET TaxRate = 0.0825
WHERE (State = "CA")
Untuk memodifikasi satu record atau lebih yang telah ada dalam suatu tabel. Nama tabel dalam pernyataan UPDATE merupakan tabel yang akan menerima perubahan data. Setiap ungkapan dalam klausa SET terdiri atas nama kolom, operator penugasan (=), nilai update dari kolom tersebut. Nilai kondisi update_atom dalam pernyataan UPDATE bisa berupa nilai lateral, nilai tunggal (satu record) dari hasil subquery SELECT, atau nilai hasil perhitungan.
Jika nilai kondisi update_atom berasal dari suatu subquery SELECT, sebuah pernyataan SELECT harus dibuat untuk setiap kolom yang akan di-update dalam tabel yang dimaksud. Subquery SELECT tersebut harus berada dalam tanda kurung. Pernyataan berikut meng-update dua kolom OnHand dan InventoryDate dalam tabel Inventory, masing-masing dengan subquery SELECT terpisah.
Klausa WHERE membatasi update record dalam tabel, jika tidak ada klausa WHERE yang dinyatakan maka semua baris tabel akan di-update dengan menggunakan ungkapan dalam klausa SET.
Pernyataan UPDATE hanya mendukung subquery SELECT dalam klausa WHERE.

Sumber: http://www.havetogether.com/pernyataan-data-manipulation-language-dml-sql.html

0 komentar:

Posting Komentar